https://wiki.itcollege.ee/api.php?action=feedcontributions&user=Imitt&feedformat=atomICO wiki - User contributions [en]2024-03-28T09:46:45ZUser contributionsMediaWiki 1.41.0https://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=72104Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2014-01-02T12:38:27Z<p>Imitt: /* Kokkuvõte */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)"[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll] juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib kliendi seadistamise osa puppeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimalik lihtsustada puppeti abil keskse logihalduse kliente seadistamist.<br />
<br />
= Eeldused =<br />
Puppet on seadistatud.[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%C3%BCsteemide%20haldamine%20II%20-%202013%20.pdf]<br />
<br />
Logihalduse server on seadistatud.[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll]<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.210<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masterisse tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis. Antud lahenduse puhul kasutame kahte erinevat klassi konfigureerimiseks. Rsyslog.pp paigladab rsyslogi ja conf.pp abil teeme vajalikud muudatused klinetide /etc/rsyslog.conf faili.<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/site.pp<br />
</source><br />
<br />
<br />
Site.pp sisu<br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include rsys_client_conf<br />
<br />
}<br />
<br />
<br />
node "desktop.planet.zz" inherits 'basenode' {<br />
#desktop.planet.zz on antud näite kliendi nimi. Selle võib asendada oma kliendi nimega.<br />
}<br />
<br />
</source><br />
<br />
Rsyslog.pp sisu<br />
<br />
<source lang="bash"><br />
<br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
<br />
<br />
</source><br />
<br />
<br />
<source lang="bash"><br />
<br />
class rsyslog {<br />
package { 'rsyslog': ensure => latest }<br />
#latest võib asendada soovitud versiooniga. Rsyslogi versiooni saab kontrollida käsuga: puppet resource package rsyslog<br />
}<br />
</source><br />
rsys_client_conf.pp sisu <br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsys_client_conf.pp<br />
</source><br />
<br />
<br />
<source lang="bash"><br />
class rsys_client_conf {<br />
<br />
<br />
file_line { 'rsys_client_conf':<br />
ensure => present,<br />
#Antud ip aadress ja port(192.168.56.210:10514) asendada logiserveris kasutuses olevatega<br />
line => "*.* @@192.168.56.210:10514 ",<br />
path => '/etc/rsyslog.conf',<br />
}<br />
}<br />
</source><br />
<br />
= Kokkuvõte=<br />
<br />
<br />
Paigaldasime antud konfiguratsiooni muudatused puppeti abil klienti ja veendusime, et kõik vajalikud muudatused said tehtud.<br />
<br />
Alternatiivne võimalus puppeti abil rsyslogi paigldamiseks on kasutades moodulit: saz/rsyslog (Lisa info: [https://forge.puppetlabs.com/saz/rsyslog])</div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=72103Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2014-01-02T12:37:41Z<p>Imitt: /* Kokkuvõte */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)"[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll] juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib kliendi seadistamise osa puppeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimalik lihtsustada puppeti abil keskse logihalduse kliente seadistamist.<br />
<br />
= Eeldused =<br />
Puppet on seadistatud.[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%C3%BCsteemide%20haldamine%20II%20-%202013%20.pdf]<br />
<br />
Logihalduse server on seadistatud.[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll]<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.210<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masterisse tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis. Antud lahenduse puhul kasutame kahte erinevat klassi konfigureerimiseks. Rsyslog.pp paigladab rsyslogi ja conf.pp abil teeme vajalikud muudatused klinetide /etc/rsyslog.conf faili.<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/site.pp<br />
</source><br />
<br />
<br />
Site.pp sisu<br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include rsys_client_conf<br />
<br />
}<br />
<br />
<br />
node "desktop.planet.zz" inherits 'basenode' {<br />
#desktop.planet.zz on antud näite kliendi nimi. Selle võib asendada oma kliendi nimega.<br />
}<br />
<br />
</source><br />
<br />
Rsyslog.pp sisu<br />
<br />
<source lang="bash"><br />
<br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
<br />
<br />
</source><br />
<br />
<br />
<source lang="bash"><br />
<br />
class rsyslog {<br />
package { 'rsyslog': ensure => latest }<br />
#latest võib asendada soovitud versiooniga. Rsyslogi versiooni saab kontrollida käsuga: puppet resource package rsyslog<br />
}<br />
</source><br />
rsys_client_conf.pp sisu <br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsys_client_conf.pp<br />
</source><br />
<br />
<br />
<source lang="bash"><br />
class rsys_client_conf {<br />
<br />
<br />
file_line { 'rsys_client_conf':<br />
ensure => present,<br />
#Antud ip aadress ja port(192.168.56.210:10514) asendada logiserveris kasutuses olevatega<br />
line => "*.* @@192.168.56.210:10514 ",<br />
path => '/etc/rsyslog.conf',<br />
}<br />
}<br />
</source><br />
<br />
= Kokkuvõte=<br />
<br />
<br />
Paigaldasime antud konfiguratsiooni muudatused puppeti abil klienti ja veendusime, et kõik vajalikud muudatused said tehtud.<br />
<br />
Alternatiivne võimalus puppeti abil rsyslogi paigldamiseks on kasutades moodulit: puppet module install saz/rsyslog (Lisa info: [https://forge.puppetlabs.com/saz/rsyslog])</div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=72102Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2014-01-02T12:36:13Z<p>Imitt: /* Kokkuvõte */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)"[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll] juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib kliendi seadistamise osa puppeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimalik lihtsustada puppeti abil keskse logihalduse kliente seadistamist.<br />
<br />
= Eeldused =<br />
Puppet on seadistatud.[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%C3%BCsteemide%20haldamine%20II%20-%202013%20.pdf]<br />
<br />
Logihalduse server on seadistatud.[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll]<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.210<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masterisse tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis. Antud lahenduse puhul kasutame kahte erinevat klassi konfigureerimiseks. Rsyslog.pp paigladab rsyslogi ja conf.pp abil teeme vajalikud muudatused klinetide /etc/rsyslog.conf faili.<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/site.pp<br />
</source><br />
<br />
<br />
Site.pp sisu<br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include rsys_client_conf<br />
<br />
}<br />
<br />
<br />
node "desktop.planet.zz" inherits 'basenode' {<br />
#desktop.planet.zz on antud näite kliendi nimi. Selle võib asendada oma kliendi nimega.<br />
}<br />
<br />
</source><br />
<br />
Rsyslog.pp sisu<br />
<br />
<source lang="bash"><br />
<br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
<br />
<br />
</source><br />
<br />
<br />
<source lang="bash"><br />
<br />
class rsyslog {<br />
package { 'rsyslog': ensure => latest }<br />
#latest võib asendada soovitud versiooniga. Rsyslogi versiooni saab kontrollida käsuga: puppet resource package rsyslog<br />
}<br />
</source><br />
rsys_client_conf.pp sisu <br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsys_client_conf.pp<br />
</source><br />
<br />
<br />
<source lang="bash"><br />
class rsys_client_conf {<br />
<br />
<br />
file_line { 'rsys_client_conf':<br />
ensure => present,<br />
#Antud ip aadress ja port(192.168.56.210:10514) asendada logiserveris kasutuses olevatega<br />
line => "*.* @@192.168.56.210:10514 ",<br />
path => '/etc/rsyslog.conf',<br />
}<br />
}<br />
</source><br />
<br />
= Kokkuvõte=<br />
<br />
<br />
Paigaldasime antud konfiguratsiooni muudatused puppeti abil klienti ja veendusime, et kõik vajalikud muudatused said tehtud.<br />
<br />
Alternatiivne võimalus puppeti abil rsyslogi paigldamiseks on kasutades moodulit: puppet module install saz/rsyslog</div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=72084Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2014-01-02T12:07:46Z<p>Imitt: /* Pupetmasteri konfiguratsioon */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)"[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll] juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib kliendi seadistamise osa puppeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimalik lihtsustada puppeti abil keskse logihalduse kliente seadistamist.<br />
<br />
= Eeldused =<br />
Puppet on seadistatud.[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%C3%BCsteemide%20haldamine%20II%20-%202013%20.pdf]<br />
<br />
Logihalduse server on seadistatud.[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll]<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.210<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masterisse tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis. Antud lahenduse puhul kasutame kahte erinevat klassi konfigureerimiseks. Rsyslog.pp paigladab rsyslogi ja conf.pp abil teeme vajalikud muudatused klinetide /etc/rsyslog.conf faili.<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/site.pp<br />
</source><br />
<br />
<br />
Site.pp sisu<br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include conf<br />
<br />
}<br />
<br />
<br />
node "desktop.planet.zz" inherits 'basenode' {<br />
}<br />
<br />
</source><br />
<br />
Rsyslog.pp sisu<br />
<br />
<source lang="bash"><br />
<br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
<br />
<br />
</source><br />
<br />
<br />
<source lang="bash"><br />
<br />
class rsyslog {<br />
package { 'rsyslog': ensure => latest }<br />
<br />
}<br />
</source><br />
conf.pp sisu <br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/conf.pp<br />
</source><br />
<br />
<br />
<source lang="bash"><br />
class conf {<br />
<br />
<br />
<br />
<br />
<br />
file_line { 'conf':<br />
ensure => present,<br />
line => "*.* @@192.168.56.210:10514 ",<br />
path => '/etc/rsyslog.conf',<br />
}<br />
}<br />
</source><br />
<br />
= Kokkuvõte=<br />
<br />
<br />
Paigaldasime antud konfiguratsiooni muudatused puppeti abil klienti ja veendusime, et kõik vajalikud muudatused said tehtud.</div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=72082Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2014-01-02T12:06:32Z<p>Imitt: /* Kokkuvõte */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)"[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll] juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib kliendi seadistamise osa puppeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimalik lihtsustada puppeti abil keskse logihalduse kliente seadistamist.<br />
<br />
= Eeldused =<br />
Puppet on seadistatud.[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%C3%BCsteemide%20haldamine%20II%20-%202013%20.pdf]<br />
<br />
Logihalduse server on seadistatud.[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll]<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.210<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masterisse tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis. Antud lahenduse puhul kasutame kahte erinevat klassi konfigureerimiseks. Rsyslog.pp paigladab rsyslogi ja conf.pp abil teeme vajalikud muudatused klinetide /etc/rsyslog.conf faili.<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/site.pp<br />
</source><br />
<br />
<br />
Site.pp sisu<br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include conf<br />
<br />
}<br />
<br />
<br />
node "desktop.planet.zz" inherits 'basenode' {<br />
}<br />
<br />
</source><br />
<br />
Rsyslog.pp sisu<br />
<br />
<source lang="bash"><br />
<br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
<br />
<br />
</source><br />
<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
<br />
<br />
class rsyslog {<br />
package { 'rsyslog': ensure => latest }<br />
<br />
}<br />
</source><br />
conf.pp sisu <br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/conf.pp<br />
</source><br />
<br />
<br />
<source lang="bash"><br />
class conf {<br />
<br />
<br />
<br />
<br />
<br />
file_line { 'conf':<br />
ensure => present,<br />
line => "*.* @@192.168.56.210:10514 ",<br />
path => '/etc/rsyslog.conf',<br />
}<br />
}<br />
</source><br />
<br />
<br />
<br />
= Kokkuvõte=<br />
<br />
<br />
Paigaldasime antud konfiguratsiooni muudatused puppeti abil klienti ja veendusime, et kõik vajalikud muudatused said tehtud.</div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=72080Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2014-01-02T12:04:23Z<p>Imitt: </p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)"[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll] juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib kliendi seadistamise osa puppeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimalik lihtsustada puppeti abil keskse logihalduse kliente seadistamist.<br />
<br />
= Eeldused =<br />
Puppet on seadistatud.[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%C3%BCsteemide%20haldamine%20II%20-%202013%20.pdf]<br />
<br />
Logihalduse server on seadistatud.[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll]<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.210<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masterisse tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis. Antud lahenduse puhul kasutame kahte erinevat klassi konfigureerimiseks. Rsyslog.pp paigladab rsyslogi ja conf.pp abil teeme vajalikud muudatused klinetide /etc/rsyslog.conf faili.<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/site.pp<br />
</source><br />
<br />
<br />
Site.pp sisu<br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include conf<br />
<br />
}<br />
<br />
<br />
node "desktop.planet.zz" inherits 'basenode' {<br />
}<br />
<br />
</source><br />
<br />
Rsyslog.pp sisu<br />
<br />
<source lang="bash"><br />
<br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
<br />
<br />
</source><br />
<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
<br />
<br />
class rsyslog {<br />
package { 'rsyslog': ensure => latest }<br />
<br />
}<br />
</source><br />
conf.pp sisu <br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/conf.pp<br />
</source><br />
<br />
<br />
<source lang="bash"><br />
class conf {<br />
<br />
<br />
<br />
<br />
<br />
file_line { 'conf':<br />
ensure => present,<br />
line => "*.* @@192.168.56.210:10514 ",<br />
path => '/etc/rsyslog.conf',<br />
}<br />
}<br />
</source><br />
<br />
<br />
<br />
= Kokkuvõte=<br />
<br />
Testisime antud konfiguratsiooni paigladamist puppeti abil ja kõik töötas plaanipäraselt.</div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=72079Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2014-01-02T12:02:53Z<p>Imitt: /* Pupetmasteri konfiguratsioon */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)"[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll] juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib kliendi seadistamise osa puppeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimalik lihtsustada puppeti abil keskse logihalduse kliente seadistamist.<br />
<br />
= Eeldused =<br />
Puppet on seadistatud.[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%C3%BCsteemide%20haldamine%20II%20-%202013%20.pdf]<br />
<br />
Logihalduse server on seadistatud.[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll]<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.210<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masterisse tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis. Antud lahenduse puhul kasutame kahte erinevat klassi konfigureerimiseks. Rsyslog.pp paigladab rsyslogi ja conf.pp abil teeme vajalikud muudatused klinetide /etc/rsyslog.conf faili.<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/site.pp<br />
</source><br />
<br />
<br />
Site.pp sisu<br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include conf<br />
<br />
}<br />
<br />
<br />
node "desktop.planet.zz" inherits 'basenode' {<br />
}<br />
<br />
</source><br />
<br />
Rsyslog.pp sisu<br />
<br />
<source lang="bash"><br />
<br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
<br />
<br />
</source><br />
<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
<br />
<br />
class rsyslog {<br />
package { 'rsyslog': ensure => latest }<br />
<br />
}<br />
</source><br />
conf.pp sisu <br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/conf.pp<br />
</source><br />
<br />
<br />
<source lang="bash"><br />
class conf {<br />
<br />
<br />
<br />
<br />
<br />
file_line { 'conf':<br />
ensure => present,<br />
line => "*.* @@192.168.56.210:10514 ",<br />
path => '/etc/rsyslog.conf',<br />
}<br />
}<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=72074Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2014-01-02T11:58:43Z<p>Imitt: /* Virtuaalmasinate seadistused */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)"[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll] juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib kliendi seadistamise osa puppeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimalik lihtsustada puppeti abil keskse logihalduse kliente seadistamist.<br />
<br />
= Eeldused =<br />
Puppet on seadistatud.[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%C3%BCsteemide%20haldamine%20II%20-%202013%20.pdf]<br />
<br />
Logihalduse server on seadistatud.[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll]<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.210<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masterisse tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis. Antud lahenduse puhul kasutame kahte erinevat klassi konfigureerimiseks. Rsyslog.pp paigladab rsyslogi ja conf.pp abil teeme vajalikud muudatused klinetide /etc/rsyslog.conf faili.<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/site.pp<br />
</source><br />
<br />
<br />
Site.pp sisu<br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include conf<br />
<br />
}<br />
<br />
<br />
node "desktop.planet.zz" inherits 'basenode' {<br />
}<br />
<br />
</source><br />
<br />
Rsyslog.pp fail<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
</source><br />
<br />
class rsyslog {<br />
package { 'rsyslog': ensure => latest }<br />
<br />
}<br />
<br />
conf.pp fail<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/conf.pp<br />
</source><br />
<br />
<source lang="bash"><br />
class conf {<br />
<br />
<br />
<br />
<br />
<br />
file_line { 'conf':<br />
ensure => present,<br />
line => "*.* @@192.168.56.210:10514 ",<br />
path => '/etc/rsyslog.conf',<br />
}<br />
}<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=72073Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2014-01-02T11:57:47Z<p>Imitt: /* Sissejuahtus */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)"[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll] juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib kliendi seadistamise osa puppeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimalik lihtsustada puppeti abil keskse logihalduse kliente seadistamist.<br />
<br />
= Eeldused =<br />
Puppet on seadistatud.[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%C3%BCsteemide%20haldamine%20II%20-%202013%20.pdf]<br />
<br />
Logihalduse server on seadistatud.[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll]<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masterisse tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis. Antud lahenduse puhul kasutame kahte erinevat klassi konfigureerimiseks. Rsyslog.pp paigladab rsyslogi ja conf.pp abil teeme vajalikud muudatused klinetide /etc/rsyslog.conf faili.<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/site.pp<br />
</source><br />
<br />
<br />
Site.pp sisu<br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include conf<br />
<br />
}<br />
<br />
<br />
node "desktop.planet.zz" inherits 'basenode' {<br />
}<br />
<br />
</source><br />
<br />
Rsyslog.pp fail<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
</source><br />
<br />
class rsyslog {<br />
package { 'rsyslog': ensure => latest }<br />
<br />
}<br />
<br />
conf.pp fail<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/conf.pp<br />
</source><br />
<br />
<source lang="bash"><br />
class conf {<br />
<br />
<br />
<br />
<br />
<br />
file_line { 'conf':<br />
ensure => present,<br />
line => "*.* @@192.168.56.210:10514 ",<br />
path => '/etc/rsyslog.conf',<br />
}<br />
}<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=72072Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2014-01-02T11:57:21Z<p>Imitt: /* Eeldused */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib kliendi seadistamise osa puppeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimalik lihtsustada puppeti abil keskse logihalduse kliente seadistamist.<br />
<br />
= Eeldused =<br />
Puppet on seadistatud.[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%C3%BCsteemide%20haldamine%20II%20-%202013%20.pdf]<br />
<br />
Logihalduse server on seadistatud.[https://wiki.itcollege.ee/index.php/Linuxi_administreerimine_-_Labor_2_%28keskse_logihalduse_rakendamine%29_protokoll]<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masterisse tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis. Antud lahenduse puhul kasutame kahte erinevat klassi konfigureerimiseks. Rsyslog.pp paigladab rsyslogi ja conf.pp abil teeme vajalikud muudatused klinetide /etc/rsyslog.conf faili.<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/site.pp<br />
</source><br />
<br />
<br />
Site.pp sisu<br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include conf<br />
<br />
}<br />
<br />
<br />
node "desktop.planet.zz" inherits 'basenode' {<br />
}<br />
<br />
</source><br />
<br />
Rsyslog.pp fail<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
</source><br />
<br />
class rsyslog {<br />
package { 'rsyslog': ensure => latest }<br />
<br />
}<br />
<br />
conf.pp fail<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/conf.pp<br />
</source><br />
<br />
<source lang="bash"><br />
class conf {<br />
<br />
<br />
<br />
<br />
<br />
file_line { 'conf':<br />
ensure => present,<br />
line => "*.* @@192.168.56.210:10514 ",<br />
path => '/etc/rsyslog.conf',<br />
}<br />
}<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=72070Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2014-01-02T11:56:27Z<p>Imitt: /* Eeldused */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib kliendi seadistamise osa puppeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimalik lihtsustada puppeti abil keskse logihalduse kliente seadistamist.<br />
<br />
= Eeldused =<br />
Puppet on seadistatud.[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%C3%BCsteemide%20haldamine%20II%20-%202013%20.pdf]<br />
<br />
Logihalduse server on seadistatud.<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masterisse tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis. Antud lahenduse puhul kasutame kahte erinevat klassi konfigureerimiseks. Rsyslog.pp paigladab rsyslogi ja conf.pp abil teeme vajalikud muudatused klinetide /etc/rsyslog.conf faili.<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/site.pp<br />
</source><br />
<br />
<br />
Site.pp sisu<br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include conf<br />
<br />
}<br />
<br />
<br />
node "desktop.planet.zz" inherits 'basenode' {<br />
}<br />
<br />
</source><br />
<br />
Rsyslog.pp fail<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
</source><br />
<br />
class rsyslog {<br />
package { 'rsyslog': ensure => latest }<br />
<br />
}<br />
<br />
conf.pp fail<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/conf.pp<br />
</source><br />
<br />
<source lang="bash"><br />
class conf {<br />
<br />
<br />
<br />
<br />
<br />
file_line { 'conf':<br />
ensure => present,<br />
line => "*.* @@192.168.56.210:10514 ",<br />
path => '/etc/rsyslog.conf',<br />
}<br />
}<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Talk:Linuxi_administreerimine_-_Labor_2_(keskse_logihalduse_rakendamine)_protokoll&diff=72064Talk:Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine) protokoll2014-01-02T11:51:46Z<p>Imitt: </p>
<hr />
<div>Testides juhendit leidsime Kibanat installides järgneva vea:<br />
<br />
Käsk: bundle install <br />
<br />
Annab järgneva errori:<br />
<br />
<br />
ArgumentError: wrong number of arguments (1 for 0)<br />
An error occurred while installing kibana (0.0.1), and Bundler cannot continue.<br />
Make sure that `gem install kibana -v '0.0.1'` succeeds before bundling.<br />
<br />
<br />
Lahendus:<br />
<br />
wget http://production.cf.rubygems.org/rubygems/rubygems-2.1.11.tgz<br />
<br />
tar xvzf rubygems-2.1.11.tgz<br />
<br />
cd rubygems-2.1.11<br />
<br />
ruby setup.rb<br />
<br />
Indrek Mitt & Priidu Niit</div>Imitthttps://wiki.itcollege.ee/index.php?title=Talk:Linuxi_administreerimine_-_Labor_2_(keskse_logihalduse_rakendamine)_protokoll&diff=72063Talk:Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine) protokoll2014-01-02T11:51:37Z<p>Imitt: </p>
<hr />
<div>Testides juhendit leidsime Kibanat installides järgneva vea:<br />
<br />
Käsk: bundle install <br />
<br />
Annab järgneva errori:<br />
<br />
<br />
ArgumentError: wrong number of arguments (1 for 0)<br />
An error occurred while installing kibana (0.0.1), and Bundler cannot continue.<br />
Make sure that `gem install kibana -v '0.0.1'` succeeds before bundling.<br />
<br />
<br />
Lahendus:<br />
<br />
wget http://production.cf.rubygems.org/rubygems/rubygems-2.1.11.tgz<br />
<br />
tar xvzf rubygems-2.1.11.tgz<br />
<br />
cd rubygems-2.1.11<br />
<br />
ruby setup.rb<br />
<br />
Inderk Mitt & Priidu Niit</div>Imitthttps://wiki.itcollege.ee/index.php?title=Talk:Linuxi_administreerimine_-_Labor_2_(keskse_logihalduse_rakendamine)_protokoll&diff=72061Talk:Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine) protokoll2014-01-02T11:51:01Z<p>Imitt: Created page with "Testides juhendit leidsime Kibanat installides järgneva vea: Käsk: bundle install Annab järgneva errori: ArgumentError: wrong number of arguments (1 for 0) An error occ…"</p>
<hr />
<div>Testides juhendit leidsime Kibanat installides järgneva vea:<br />
<br />
Käsk: bundle install <br />
<br />
Annab järgneva errori:<br />
<br />
<br />
ArgumentError: wrong number of arguments (1 for 0)<br />
An error occurred while installing kibana (0.0.1), and Bundler cannot continue.<br />
Make sure that `gem install kibana -v '0.0.1'` succeeds before bundling.<br />
<br />
<br />
Lahendus:<br />
<br />
wget http://production.cf.rubygems.org/rubygems/rubygems-2.1.11.tgz<br />
<br />
tar xvzf rubygems-2.1.11.tgz<br />
<br />
cd rubygems-2.1.11<br />
<br />
ruby setup.rb</div>Imitthttps://wiki.itcollege.ee/index.php?title=User_talk:Imitt&diff=72060User talk:Imitt2014-01-02T11:50:23Z<p>Imitt: Blanked the page</p>
<hr />
<div></div>Imitthttps://wiki.itcollege.ee/index.php?title=User_talk:Imitt&diff=72059User talk:Imitt2014-01-02T11:50:02Z<p>Imitt: </p>
<hr />
<div>Testides juhendit leidsime Kibanat installides järgneva vea:<br />
<br />
Käsk: bundle install <br />
<br />
Annab järgneva errori:<br />
<br />
<br />
ArgumentError: wrong number of arguments (1 for 0)<br />
An error occurred while installing kibana (0.0.1), and Bundler cannot continue.<br />
Make sure that `gem install kibana -v '0.0.1'` succeeds before bundling.<br />
<br />
<br />
Lahendus:<br />
<br />
wget http://production.cf.rubygems.org/rubygems/rubygems-2.1.11.tgz<br />
<br />
tar xvzf rubygems-2.1.11.tgz<br />
<br />
cd rubygems-2.1.11<br />
<br />
ruby setup.rb</div>Imitthttps://wiki.itcollege.ee/index.php?title=User_talk:Imitt&diff=72055User talk:Imitt2014-01-02T11:49:34Z<p>Imitt: Created page with "Testides juhendit leidsime Kibanat installides järgneva vea: Käsk: bundle install Annab järgneva errori: ArgumentError: wrong number of arguments (1 for 0) An error occ…"</p>
<hr />
<div>Testides juhendit leidsime Kibanat installides järgneva vea:<br />
<br />
Käsk: bundle install <br />
<br />
Annab järgneva errori:<br />
<br />
<br />
ArgumentError: wrong number of arguments (1 for 0)<br />
An error occurred while installing kibana (0.0.1), and Bundler cannot continue.<br />
Make sure that `gem install kibana -v '0.0.1'` succeeds before bundling.<br />
<br />
<br />
Lahendus:<br />
<br />
wget http://production.cf.rubygems.org/rubygems/rubygems-2.1.11.tgz<br />
tar xvzf rubygems-2.1.11.tgz<br />
cd rubygems-2.1.11<br />
ruby setup.rb</div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=71935Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2014-01-02T10:06:20Z<p>Imitt: /* Sissejuahtus */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib kliendi seadistamise osa puppeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimlik lihtsustada puppeti abil keskse logihalduse kliente seadistamist. <br />
<br />
= Eeldused =<br />
Puppet on seadistatud.<br />
<br />
Logihalduse server on seadistatud.<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masterisse tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
# puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis. Antud lahenduse puhul kasutame kahte erinevat klassi konfigureerimiseks. Rsyslog.pp paigladab rsyslogi ja conf.pp abil teeme vajalikud muudatused klinetide /etc/rsyslog.conf faili.<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/site.pp<br />
</source><br />
<br />
<br />
Site.pp sisu<br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include conf<br />
<br />
}<br />
<br />
<br />
node "desktop.planet.zz" inherits 'basenode' {<br />
}<br />
<br />
</source><br />
<br />
Rsyslog.pp fail<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
</source><br />
<br />
class rsyslog {<br />
package { 'rsyslog': ensure => latest }<br />
<br />
}<br />
<br />
conf.pp fail<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/conf.pp<br />
</source><br />
<br />
<source lang="bash"><br />
class conf {<br />
<br />
<br />
<br />
<br />
<br />
file_line { 'conf':<br />
ensure => present,<br />
line => "*.* @@192.168.56.210:10514 ",<br />
path => '/etc/rsyslog.conf',<br />
}<br />
}<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=71212Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2013-12-27T15:17:49Z<p>Imitt: /* Pupetmasteri konfiguratsioon */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib teise kliendi seadistamsie osa pupeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimlik lihtsustada puppeti abil keskse logihalduse kliente seadistamist. <br />
<br />
= Eeldused =<br />
Puppet on seadistatud.<br />
<br />
Logihalduse server on seadistatud.<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masterisse tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
# puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis. Antud lahenduse puhul kasutame kahte erinevat klassi konfigureerimiseks. Rsyslog.pp paigladab rsyslogi ja conf.pp abil teeme vajalikud muudatused klinetide /etc/rsyslog.conf faili.<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/site.pp<br />
</source><br />
<br />
<br />
Site.pp sisu<br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include conf<br />
<br />
}<br />
<br />
<br />
node "desktop.planet.zz" inherits 'basenode' {<br />
}<br />
<br />
</source><br />
<br />
Rsyslog.pp fail<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
</source><br />
<br />
class rsyslog {<br />
package { 'rsyslog': ensure => latest }<br />
<br />
}<br />
<br />
conf.pp fail<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/conf.pp<br />
</source><br />
<br />
<source lang="bash"><br />
class conf {<br />
<br />
<br />
<br />
<br />
<br />
file_line { 'conf':<br />
ensure => present,<br />
line => "*.* @@192.168.56.210:10514 ",<br />
path => '/etc/rsyslog.conf',<br />
}<br />
}<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=71211Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2013-12-27T15:15:29Z<p>Imitt: /* Pupetmasteri konfiguratsioon */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib teise kliendi seadistamsie osa pupeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimlik lihtsustada puppeti abil keskse logihalduse kliente seadistamist. <br />
<br />
= Eeldused =<br />
Puppet on seadistatud.<br />
<br />
Logihalduse server on seadistatud.<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masterisse tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
# puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis. Antud lahenduse puhul kasutame kahte erinevat klassi konfigureerimiseks. Rsyslog.pp paigladab rsyslogi ja conf.pp abil teeme vajalikud muudatused klinetide /etc/rsyslog.conf faili.<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/site.pp<br />
</source><br />
<br />
<br />
Site.pp sisu<br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include conf<br />
<br />
}<br />
<br />
<br />
node "desktop.planet.zz" inherits 'basenode' {<br />
}<br />
<br />
</source><br />
<br />
Rsyslog.pp fail<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
</source><br />
<br />
class rsyslog {<br />
package { 'rsyslog': ensure => latest }<br />
<br />
}<br />
<br />
conf.pp fail<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/conf.pp<br />
</source><br />
<br />
<source lang="bash"><br />
class test {<br />
<br />
<br />
<br />
<br />
<br />
file_line { 'kirje':<br />
ensure => present,<br />
line => "*.* @@192.168.56.210:10514 ",<br />
path => '/etc/rsyslog.conf',<br />
}<br />
}<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=71210Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2013-12-27T15:12:19Z<p>Imitt: /* Pupetmasteri konfiguratsioon */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib teise kliendi seadistamsie osa pupeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimlik lihtsustada puppeti abil keskse logihalduse kliente seadistamist. <br />
<br />
= Eeldused =<br />
Puppet on seadistatud.<br />
<br />
Logihalduse server on seadistatud.<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masterisse tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
# puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis. Antud lahenduse puhul kasutame kahte erinevat klassi konfigureerimiseks. Rsyslog.pp paigladab rsyslogi ja conf.pp abil teeme vajalikud muudatused klinetide /etc/rsyslog.conf faili.<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
</source><br />
<br />
<br />
Site.pp sisu<br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include conf<br />
<br />
}<br />
<br />
<br />
node "desktop.planet.zz" inherits 'basenode' {<br />
}<br />
<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=71209Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2013-12-27T15:09:45Z<p>Imitt: /* Pupetmasteri konfiguratsioon */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib teise kliendi seadistamsie osa pupeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimlik lihtsustada puppeti abil keskse logihalduse kliente seadistamist. <br />
<br />
= Eeldused =<br />
Puppet on seadistatud.<br />
<br />
Logihalduse server on seadistatud.<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masterisse tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
# puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
</source><br />
<br />
<br />
Site.pp sisu<br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include conf<br />
<br />
}<br />
<br />
<br />
node "desktop.planet.zz" inherits 'basenode' {<br />
}<br />
<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=71206Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2013-12-27T15:04:23Z<p>Imitt: /* Pupetmasteri konfiguratsioon */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib teise kliendi seadistamsie osa pupeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimlik lihtsustada puppeti abil keskse logihalduse kliente seadistamist. <br />
<br />
= Eeldused =<br />
Puppet on seadistatud.<br />
<br />
Logihalduse server on seadistatud.<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masteri tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
# puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
</source><br />
<br />
<br />
Site.pp sisu<br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include conf<br />
<br />
}<br />
<br />
<br />
node "desktop.planet.zz" inherits 'basenode' {<br />
}<br />
<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=71203Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2013-12-27T14:57:24Z<p>Imitt: /* Pupetmasteri konfiguratsioon */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib teise kliendi seadistamsie osa pupeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimlik lihtsustada puppeti abil keskse logihalduse kliente seadistamist. <br />
<br />
= Eeldused =<br />
Puppet on seadistatud.<br />
<br />
Logihalduse server on seadistatud.<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masteri tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
# puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
</source><br />
<br />
<source lang="bash"><br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include kirje<br />
<br />
}<br />
<br />
<br />
<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=71202Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2013-12-27T14:56:29Z<p>Imitt: /* Pupetmasteri konfiguratsioon */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib teise kliendi seadistamsie osa pupeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimlik lihtsustada puppeti abil keskse logihalduse kliente seadistamist. <br />
<br />
= Eeldused =<br />
Puppet on seadistatud.<br />
<br />
Logihalduse server on seadistatud.<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masteri tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
# puppet module install puppetlabs/stdlib<br />
<br />
</source><br />
<br />
<br />
Muudatused site.pp failis<br />
<br />
<source lang="bash"><br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
<br />
<br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include kirje<br />
<br />
}<br />
<br />
<br />
<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=71199Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2013-12-27T14:54:23Z<p>Imitt: /* Eeldused */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib teise kliendi seadistamsie osa pupeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimlik lihtsustada puppeti abil keskse logihalduse kliente seadistamist. <br />
<br />
= Eeldused =<br />
Puppet on seadistatud.<br />
<br />
Logihalduse server on seadistatud.<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masteri tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
# puppet module install puppetlabs/stdlib<br />
<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=71196Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2013-12-27T14:52:46Z<p>Imitt: /* Eeldused */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib teise kliendi seadistamsie osa pupeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimlik lihtsustada puppeti abil keskse logihalduse kliente seadistamist. <br />
<br />
= Eeldused =<br />
Puppet on seadistatud.</br><br />
<br />
Logihalduse server on seadistsud.<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masteri tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
# puppet module install puppetlabs/stdlib<br />
<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=71195Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2013-12-27T14:52:14Z<p>Imitt: /* Logstash */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib teise kliendi seadistamsie osa pupeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimlik lihtsustada puppeti abil keskse logihalduse kliente seadistamist. <br />
<br />
= Eeldused =<br />
Puppet on seadistatud.<br />
Logihalduse server on seadistsud.<br />
<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
<br />
<br />
Puppet masteri tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
# puppet module install puppetlabs/stdlib<br />
<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=71194Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2013-12-27T14:51:40Z<p>Imitt: /* Logstash */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib teise kliendi seadistamsie osa pupeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimlik lihtsustada puppeti abil keskse logihalduse kliente seadistamist. <br />
<br />
= Eeldused =<br />
Puppet on seadistatud.<br />
Logihalduse server on seadistsud.<br />
<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
=== Logstash ===<br />
<br />
Puppet masteri tuleb lisada stdlib moodul. Antud moodul on vajalik, et klientide konfiguratsiooni failidesse ridu lisada.<br />
<br />
<source lang="bash"><br />
# puppet module install puppetlabs/stdlib<br />
<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=71193Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2013-12-27T14:50:15Z<p>Imitt: /* Logstash */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib teise kliendi seadistamsie osa pupeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimlik lihtsustada puppeti abil keskse logihalduse kliente seadistamist. <br />
<br />
= Eeldused =<br />
Puppet on seadistatud.<br />
Logihalduse server on seadistsud.<br />
<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
=== Logstash ===<br />
<br />
Pupet masteri tuelb lisada järgnev moodul<br />
<br />
<source lang="bash"><br />
# puppet module install puppetlabs/stdlib<br />
<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=71187Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2013-12-27T14:43:21Z<p>Imitt: /* Pupetmasteri konfiguratsioon */</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib teise kliendi seadistamsie osa pupeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimlik lihtsustada puppeti abil keskse logihalduse kliente seadistamist. <br />
<br />
= Eeldused =<br />
Puppet on seadistatud.<br />
Logihalduse server on seadistsud.<br />
<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =<br />
<br />
=== Logstash ===<br />
Kasutatud S. Arnus lahendust<br />
<br />
<source lang="bash"><br />
apt-get install openjdk-7-jre<br />
mkdir /etc/logstash<br />
<br />
wget https://logstash.objects.dreamhost.com/release/logstash-1.1.12-flatjar.jar <br />
mv logstash-1.1.12-flatjar.jar /etc/logstash/logstash.jar<br />
</source></div>Imitthttps://wiki.itcollege.ee/index.php?title=Keskse_logihalduse_tarvis_kliendile_Rsyslogi_paigladmaine_ja_seadistamine_puppeti_abil&diff=71185Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil2013-12-27T14:41:34Z<p>Imitt: Created page with "= Sissejuahtus= Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihaldu…"</p>
<hr />
<div>= Sissejuahtus=<br />
Antud juhend toetub Sten Ausi poolt loodud "Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine)" juhenduile, kus autor näitab tutvustab logihalduse seadistamist server ja kleindi poolel. Käesolev juhend automatiseerib teise kliendi seadistamsie osa pupeti abil. <br />
Kliente on tihti palju ja seetõttu on tüütu kõiki ükshaaval seadistada.<br />
<br />
= Eesmärk =<br />
Juhendi eesmärgik on näidata, kuidas on võimlik lihtsustada puppeti abil keskse logihalduse kliente seadistamist. <br />
<br />
= Eeldused =<br />
Puppet on seadistatud.<br />
Logihalduse server on seadistsud.<br />
<br />
<br />
= Tarkvara valik =<br />
<br />
Server: Ubuntu Server 64bit, versioon: 12.04.3 LTS<br />
<br />
Klient: Ubuntu client 64bit, versioon 13.04 <br />
<br />
<br />
= Virtuaalmasinate seadistused =<br />
<br />
Selle konkreetse lahenduskäigu puhul on kasutusel kolm virtuaalmasinat:<br />
<br />
1) Puppet server: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
puppet.planet.zz 192.168.56.200<br />
<br />
2) Keskne logiserver: Ubuntu Server 64bit versioon 12.04.3 LTS.<br />
<br />
rsyslog.planet.zz 192.168.56.201<br />
<br />
3) Klient: Ubuntu Desktop 64bit versioon 13.<br />
<br />
client.planet.zz 192.168.56.101<br />
<br />
<br />
= Pupetmasteri konfiguratsioon =</div>Imitthttps://wiki.itcollege.ee/index.php?title=Linuxi_administreerimine&diff=71139Linuxi administreerimine2013-12-27T12:02:07Z<p>Imitt: /* Esseede teemad 2013 */</p>
<hr />
<div>=Üldinfo=<br />
ECTS: 4<br />
Hindamisviis: Eksam<br />
<br />
==Õppejõud==<br />
Margus Ernits<br />
<br />
Katrin Loodus<br />
<br />
=Eeldused ja sihtgrupp=<br />
<br />
Operatsioonisüsteemide administreerimine ja sidumine (Rangelt soovituslik). Osadmin aines loetava oskamine on antud aine õppimise eelduseks. ÕISis on see eeldus märgitud soovituslikuks, kuna igal aastal on paar inimest, kes suudavad mõlemad ained korraga läbida ja on antud vallas väga pädevad.<br />
Linuxi administraatori kursus on mõeldud tugeva infotehnoloogilise põhjaga arvuti-spetsialistile.<br />
Kursuse rõhk on eelkõige võrguhalduril, kelle tööülesannete hulka kuulub igapäevane serverite, võrgu jms hooldus, konfigureerimine ja uute seadmete installatsioon.<br />
<br />
=Eesmärk ja sisu=<br />
<br />
Kursuse esimeses osas õpitakse tundma Linux süsteemi toimimist, antakse ülevaade administreerimistoimingute automatiseerimisest shelli skriptide abil ja omandatakse praktiline käsufailide koostamise kogemus.<br />
<br />
Teises osas õpitakse paigaldama ja konfigureerima erinevaid võrguteenuseid. Kursuse teise osa alguses korratakse taseme ühtlustamiseks TCP/IP võrgu põhialuseid.<br />
<br />
=Õpiväljundid=<br />
<br />
<br />
=Loengud=<br />
<br />
Kaugõppe loengute ja praktikumide videosalvestused:<br />
http://echo360.e-ope.ee/ess/portal/section/4bd0abde-1b0d-4c92-a35e-0f99a81f069d<br />
<br />
<br />
1. Sissejuhatav loeng eeldustest [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng01%20-%20Sissejuhatus%20ainesse%20Linux%20administreerimine%20-%202013%20.pdf Sissejuhatus Loeng 1]<br />
<br />
1.1. Kordamine Osadmin [http://elab.itcollege.ee:8000/Linux-Basics.mm]<br />
<br />
2. Linux süsteemi põhilised komponendid [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng02%20-%20Linux%20s%c3%bcsteemide%20haldamine%20-%202013%20.pdf Linux haldamine Loeng 2]<br />
<br />
3. Linux süsteemi haldamine puppet abil I [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng03%20-%20Linux%20s%c3%bcsteemide%20haldamine%20-%202013%20.pdf Linux haldamine Loeng 3]<br />
<br />
4. Linux süsteemi haldamine puppet abil II [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%c3%bcsteemide%20haldamine%20II%20-%202013%20.pdf Linux haldamine Loeng 4]<br />
<br />
5. Linux süsteemi haldamine puppet abil III [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng05%20-%20Linux%20s%c3%bcsteemide%20haldamine%20III%20-%202013%20.pdf Linux haldamine Loeng 5]<br />
<br />
5.1 Puppeti seadistamine passenger mooduli abil [[Puppet - passenger]]<br />
<br />
Puppeti teise loengu video: http://elab.itcollege.ee:8000/linux-admin/pupppet-algus.ogv<br />
<br />
=Praktikumid=<br />
<br />
==Esimene praktikum - Ubuntu Serveri ja kliendi paigaldamine ning kordamine==<br />
* Paigaldage '''Ubuntu Linux Server''' süsteem VirtualBox abil<br />
**RAM 512MB<br />
**HDD dynamicly allocated 8GB<br />
**2 Võrgukaarti NIC1 - NAT (eth0 - Ubuntus) ja NIC2 - HostOnly (eth1 - Ubuntus)<br />
**Logige serverisse sisse ja seadistage võrk failis /etc/network/interfaces (liidese eth1 ip aadress 192.168.56.200). <br />
***Abiinfo [[Ubuntu server võrgu seadistamine]] ja [[VirtualBoxi võrgud]]<br />
<br />
<source lang="bash"><br />
auto eth1<br />
iface eth1 inet static<br />
address 192.168.56.200<br />
netmask 255.255.255.0<br />
</source><br />
<br />
*Paigaldage openssh server, kui te seda installi käigus ei teinud (apt-get update && apt-get install ssh)<br />
<br />
Ubuntu Server 12.04.1 LTS ISO (64bit) http://elab.itcollege.ee:8000/ubuntu-12.04.1-server-amd64.iso<br />
<br />
Eelduste kontrollimise test harjutamiseks: http://goo.gl/73xBZ<br />
Kes tunneb, et test on '''liiga keeruline''', peab '''kaaluma''' aine deklareerimise asemel '''Osadmin aine (mis on soovituslik eeldus) läbimist'''.<br />
<br />
* '''Ubuntu Desktop Linux''' paigaldamine (Võib paigaldada ka mõne muu disrtibutsiooni desktop masina, kuna seda läheb meil niikuinii hiljem vaja)<br />
**Memory 1024MB<br />
**HDD 16GB (või 8GB) Dynamic disk<br />
**Network<br />
**Video Memory 64MB 3D acceleration sisse<br />
<br />
'''NB! Kasutamiseks valmis masinad: [http://elab.itcollege.ee:8000/ubuntu-server-64.ova server 64bit] ja [http://elab.itcollege.ee:8000/ubuntu-desktop-64.ova klient 64bit], [http://elab.itcollege.ee:8000/UbuntuServer32bit.ova server 32bit] ja [http://elab.itcollege.ee:8000/UbuntuDesktop32bit.ova klient 32bit]''' <br />
<br />
Pärast paigaldamist seadistada [https://wiki.itcollege.ee/index.php/OpenSSH:_v%C3%B5tmetega_autentimine key based autentimisega] serverisse sisenemine. (tööjaamast saab serveris käske käivitada)<br />
<br />
==Teine ja kolmas praktikum - Eeldustetest ja kordamine==<br />
<br />
Kordamiseks leiate vajalikku infot [https://wiki.itcollege.ee/index.php/Category:Operatsioonis%C3%BCsteemide_administreerimine_ja_sidumine Operatsioonisüsteemide administreerimise ja sidumise] aine vikist. <br />
<br />
[http://goo.gl/AFGfoV Eeldustetest 1]<br />
<br />
[http://goo.gl/F0PiWK Eeldustetest 2]<br />
<br />
<br />
==Linux keskhaldus puppet baasil==<br />
<br />
Praktikumis paigaldame puppet serveri (master) ja kliendi.<br />
<br />
Näiteülesanded kaitsmiseks<br />
<br />
1. Loo puppet abil fail /etc/issue sisuga KALA<br />
<br />
2. Loo puppet abil kasutaja polekala, kodukaustaga /home/polekala, shelliga /bin/zsh ( tee ka paki zsh paigaldus)<br />
<br />
3. Lisa nodele class tarkvara, mis paigaldab htop, bpython pakid<br />
<br />
4. Loo nodele class eemalda, mis eemaldab paki cowsay<br />
<br />
<br />
<br />
5. Viimane ülesanne on igal ühel erinev.<br />
<br />
5.1 Loo serverisse kasutaja kala ja tee talle ssh key. Seadista kliendiarvuti selliselt, et paigaldataks pakk ssh ja lisataks root kasutajale kliendis loodud ssh public key.<br />
<br />
5.2 Paigalda kliendi arvutisse ntp server ja määra ntp serveriteks ntp.eenet.ee ja ntp.ut.ee<br />
<br />
5.3 Lisa kliendi arvutisse apache2 veebiserver koos virtualhostiga www.planet.zz, (failis /var/www/www.planet.zz/index.html on rida www.planet.zz)<br />
Apache konfis peab olema ServerName www.planet.zz ja sites-enabled all sait www.planet.zz<br />
<br />
5.4 Lisa kliendi arvutisse bind9 nimeserver (normaalselt tööjaama seda ei tehta, kuid antud näitel on meil vaid üks konfigureeritav host). Seadista enda valitud domeeniminega tsoon koos revers tsooniga. Lisa kirjed www.sinudomeen.zz, mail.sinudomeen.zz, puppet.sinudomeen.zz koos PTR kirjetega.<br />
<br />
<br />
<br />
<br />
[[Puppet Examples]]<br />
<br />
==Keskne logiserver==<br />
Labor 2 üheks võimalikuks teemaks on keskse logihalduse lahenduse loomine<br />
<br />
[[Keskse logilahenduse rakendamine]]<br />
<br />
[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/Arnus%20-%20keskne%20logilahendus.pdf Lõputöö logihalduse teemal]<br />
<br />
<br />
http://rdstash.blogspot.com/2013/01/installing-logstash-as-syslog-server-on.html<br />
<br />
=Esseede teemad 2012=<br />
<br />
Võib valida keerulisemaid teemasid ka [[Osadmin referaadi teemad]] lehelt.<br />
<br />
[[zsh]] - pole algajale<br />
<br />
Mida uurida <br />
<br />
Prompt<br />
<br />
http://zshwiki.org/home/config/prompt<br />
<br />
http://stevelosh.com/blog/2010/02/my-extravagant-zsh-prompt/<br />
<br />
.zshrc<br />
<br />
for <br />
<br />
if <br />
<br />
while <br />
<br />
jne<br />
<br />
<br />
[[exFAT vs Linux]] - Kalju Hõbemäe<br />
<br />
<br />
[[CentOS Server]] --- teeb Oliver Naaris<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba, e-post seadistamine<br />
<br />
<br />
[[Superb Mini Server]] --- Mark-Erik Mogom, Andrus Dei <br />
<br />
Paigaldamine<br />
<br />
DNS, samba, LDAP, e-post seadistamine<br />
<br />
<br />
[[Oracle Linux]]<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba, e-post seadistamine<br />
<br />
<br />
[[Suse Linux]]<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba seadistamine<br />
<br />
[[OpenLDAP Ubuntu Serveril]] - Tarmo Suurmägi, Taavi Sannik, Harri Uljas<br />
<br />
[[Zentyal SAMBA4]] --- Lang & Lihten A31<br />
<br />
Samba4 domeenikontrolleri seadistamine ja ubuntu/fedora/muu süsteem autentimise seadistamine kasutades uusi vahendeid<br />
<br />
[[Apt-yum/dpkg-rpm käskude lühivõrdlus]] - Teet Saar A32<br />
<br />
[[Ophcrack]] - teeb Kristo Kapten<br />
<br />
[[rancid]] - Meelis Kurnikov, Aive Haavel AK31<br />
<br />
[[zenoss]] - Kristjan Vaik<br />
<br />
[[Apache autentimine LDAP'iga]] - Rauno Lehiste<br />
=Esseede teemad 2013=<br />
<br />
[[PHORONIX TEST SUITE]]<br />
<br />
[[Linux failisüsteemi jõudluse mõõtmine]]<br />
<br />
[[passenger]]<br />
<br />
[[NFTables]]<br />
<br />
[[Ipcop]] - saab kaasajastada<br />
<br />
[[suricata]] http://www.openinfosecfoundation.org/index.php/download-suricata - Martin Leppik 12.12.2013<br />
<br />
[[snort]] http://www.snort.org/ - võib kaasajastada<br />
<br />
[[Owncloud]] - Tõnu Erm AK31<br />
<br />
[[Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine) protokoll]] - Sten Aus 28.11.2013<br />
<br />
[[Keskse logilahenduse rakendamine Rsyslog näitel]] - Kimmo Lillipuu, Kaarel Kuurmann, Heigo Punapart 18.12.2013<br />
<br />
[[Keskse logihalduse tarvis kliendile Rsyslogi paigladmaine ja seadistamine puppeti abil ]] - Indrek Mitt, Priidu Niit 19.12.2013<br />
<br />
[[Nagios 3.5]] - Piia Ploovits, Sandra Sirel, Kristian Kivimägi, Grete Maisla 19.12.2013<br />
<br />
[[MySecureShell - SecureFTP]] - Kalle Kadakas 20.12.2013<br />
<br />
[[Keskne logiserver]] - Tauri Jaanus 25.12.2013<br />
<br />
=Eksamist=<br />
<br />
Tee ära labor 2 (oma valitud teemal + selle kohta wiki kirjatöö)<br />
Eksamil ole valmis demoma labor 1 raames kaitstud asju.<br />
<br />
Kirjatööd sisu tuleb eksamil kaitsta vestluse vormis.<br />
<br />
Eksami käigus saab kaitsta ka labor 1 ja 2 asju.<br />
<br />
Eksami käigus tõmbad loosi, mida labor 1 raames parandada. Õppejõud teeb teenuse katki ja tudeng teeb korda. (soovitatav on eelnevalt teha teenusest varukoopia).<br />
<br />
Punkte saab selgituse eest, mis oli katki ja kuidas tegid korda.<br />
<br />
Katki tegemisel võib arvestada näiteks, et algaja admin (õppejõud:) muutis ära parooli, rikkus võrguseaded ja kustutas täiesti süüdimatult mõne konfifaili.<br />
<br />
=Laborimaterjalid 2012=<br />
<br />
Teha apt - yum ja dpkg - rpm vastavustabel. dpkg ja apt korraldused leiab [http://elab.itcollege.ee:8000/Linux-Basics.mm Linux-Basics mindmapist]<br />
<br />
Parim töö annab 7p, järgmised 5p (piisavalt põhjalikud ja erinevad)<br />
<br />
Ebapiisavad vastavustabelid, mis sarnanevad üksteisele punkte ei saa.<br />
<br />
Kui su tabel on ilma vigadeta, kuid mitte parimate sead siis saad 1-2p.<br />
<br />
<br />
'''Praks 4'''<br />
<br />
Nimeserveri BIND9 paigaldamine.<br />
<br />
*Mõtle välja domeenimini<br />
*Paigalda nimeserver bind9<br />
*Seadista oma domeen<br />
**www.domeen<br />
**ns.domeen<br />
**sales.domeen<br />
**seadista oma kliendimasin kasutama uut nimeserverit<br />
<br />
NB: enne kaitsmist lugeda läbi http://kuutorvaja.eenet.ee/wiki/DNS<br />
<br />
Labori üks näide [[Nimeserveri seadistamine BIND9 näitel]]<br />
<br />
Praktikumi salvestus http://echo360.e-uni.ee/ess/echo/presentation/a828b6af-8caf-4319-b594-5d6bfed04a70<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' peab töötama nii nimede lahendamine läbi teie nimeserveri kui ka reverse lookup.<br />
<br />
<br />
'''Praks 5'''<br />
<br />
Veebiserveri apache2 paigaldamine<br />
<br />
*Loo veebisaidid www.domeen ja sales.domeen (ehk oma DNS labori nimedele vastavad veebisaidid)<br />
Praktikumi salvestus: http://echo360.e-uni.ee/ess/echo/presentation/0945a764-0305-48ec-8082-4e57a23cc536<br />
*Seadist HTTPS nendele saitidele (vajadusel loo uus ip alias ja muuda nimeserveris olevat kirjet, et TLS nimed viitaks erinevatele IP aadressidele)<br />
*Abiks on loeng: http://enos.itcollege.ee/~mernits/infrastruktuur/loeng04%20-%20Veebiserver.odp ja labor: https://wiki.itcollege.ee/index.php/Veebiserveri_labor_v.2<br />
*Paigalda WordPress vastavalt juhendile: http://goo.gl/6XQ0U<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' peab töötama veebiserververi apache2 pealt 2 veebilehte ning wordpress. Wordpressile peab olema paigaldatud super cache ning lisaks peab töötama varnish. Seejuures wordpress on seadistatud pordile 80 ja wordpress pordil 8080. Lehe toimivust testige enne kaitsmist ab vahendiga, kus -n 1000 ja -t 10.<br />
<br />
<br />
'''Praks 7'''<br />
Samba share-i välja jagamine. <br />
<br />
*Loo share, mis on ligipääsetav vaid kasutajatele, kes kuuluvad lab gruppi. Vajalik on ka share-ile kirjutamisõigus (saab kausta luua). <br />
* Seadista samba abil kasutajate kodukaustadele ligipääsemine. Iga kasutaja peab ligi pääsema enda kodukaustale. <br />
<br />
*Abiks on viki artiklid : https://wiki.itcollege.ee/index.php/Failiserver_Samba_labor_2 ja https://wiki.itcollege.ee/index.php/Lihtne_samba_install<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' on vajalik share-i olemasolu, mis on ligipääsetav ning kirjutatav (võimalik luua kataloogi) ainult lab gruppi kuuluvatele kasutajatele ning lab gruppi mitte kuuluvad kasutajad ei tohi sinna ligi pääseda. <br />
Lisaks peavad kasutajad pääsema ligi oma kodukaustale, sõltumata sellest, kas ta kuulub lab gruppi või mitte.<br />
<br />
<br />
'''Labor 1'''<br />
*Veebiserver ja virtualhostid<br />
*DNS<br />
*e-post<br />
*iptables<br />
*samba<br />
<br />
<br />
'''Labor 2'''<br />
*LDAP või Samba4 - LDAP Teet Saar, Kullo-Kalev Aru<br />
*Puppet või chef<br />
*PAM<br />
*Puppet (Ubuntus) - Kristo Kapten<br />
*[[Samba(windows domeenis fileserver)]] - Marko Kurs<br />
*[[TLS termineerimine nginx abil]] - Sander Arnus, Sander Saveli</div>Imitthttps://wiki.itcollege.ee/index.php?title=Linuxi_administreerimine&diff=71138Linuxi administreerimine2013-12-27T12:00:45Z<p>Imitt: /* Esseede teemad 2013 */</p>
<hr />
<div>=Üldinfo=<br />
ECTS: 4<br />
Hindamisviis: Eksam<br />
<br />
==Õppejõud==<br />
Margus Ernits<br />
<br />
Katrin Loodus<br />
<br />
=Eeldused ja sihtgrupp=<br />
<br />
Operatsioonisüsteemide administreerimine ja sidumine (Rangelt soovituslik). Osadmin aines loetava oskamine on antud aine õppimise eelduseks. ÕISis on see eeldus märgitud soovituslikuks, kuna igal aastal on paar inimest, kes suudavad mõlemad ained korraga läbida ja on antud vallas väga pädevad.<br />
Linuxi administraatori kursus on mõeldud tugeva infotehnoloogilise põhjaga arvuti-spetsialistile.<br />
Kursuse rõhk on eelkõige võrguhalduril, kelle tööülesannete hulka kuulub igapäevane serverite, võrgu jms hooldus, konfigureerimine ja uute seadmete installatsioon.<br />
<br />
=Eesmärk ja sisu=<br />
<br />
Kursuse esimeses osas õpitakse tundma Linux süsteemi toimimist, antakse ülevaade administreerimistoimingute automatiseerimisest shelli skriptide abil ja omandatakse praktiline käsufailide koostamise kogemus.<br />
<br />
Teises osas õpitakse paigaldama ja konfigureerima erinevaid võrguteenuseid. Kursuse teise osa alguses korratakse taseme ühtlustamiseks TCP/IP võrgu põhialuseid.<br />
<br />
=Õpiväljundid=<br />
<br />
<br />
=Loengud=<br />
<br />
Kaugõppe loengute ja praktikumide videosalvestused:<br />
http://echo360.e-ope.ee/ess/portal/section/4bd0abde-1b0d-4c92-a35e-0f99a81f069d<br />
<br />
<br />
1. Sissejuhatav loeng eeldustest [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng01%20-%20Sissejuhatus%20ainesse%20Linux%20administreerimine%20-%202013%20.pdf Sissejuhatus Loeng 1]<br />
<br />
1.1. Kordamine Osadmin [http://elab.itcollege.ee:8000/Linux-Basics.mm]<br />
<br />
2. Linux süsteemi põhilised komponendid [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng02%20-%20Linux%20s%c3%bcsteemide%20haldamine%20-%202013%20.pdf Linux haldamine Loeng 2]<br />
<br />
3. Linux süsteemi haldamine puppet abil I [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng03%20-%20Linux%20s%c3%bcsteemide%20haldamine%20-%202013%20.pdf Linux haldamine Loeng 3]<br />
<br />
4. Linux süsteemi haldamine puppet abil II [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%c3%bcsteemide%20haldamine%20II%20-%202013%20.pdf Linux haldamine Loeng 4]<br />
<br />
5. Linux süsteemi haldamine puppet abil III [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng05%20-%20Linux%20s%c3%bcsteemide%20haldamine%20III%20-%202013%20.pdf Linux haldamine Loeng 5]<br />
<br />
5.1 Puppeti seadistamine passenger mooduli abil [[Puppet - passenger]]<br />
<br />
Puppeti teise loengu video: http://elab.itcollege.ee:8000/linux-admin/pupppet-algus.ogv<br />
<br />
=Praktikumid=<br />
<br />
==Esimene praktikum - Ubuntu Serveri ja kliendi paigaldamine ning kordamine==<br />
* Paigaldage '''Ubuntu Linux Server''' süsteem VirtualBox abil<br />
**RAM 512MB<br />
**HDD dynamicly allocated 8GB<br />
**2 Võrgukaarti NIC1 - NAT (eth0 - Ubuntus) ja NIC2 - HostOnly (eth1 - Ubuntus)<br />
**Logige serverisse sisse ja seadistage võrk failis /etc/network/interfaces (liidese eth1 ip aadress 192.168.56.200). <br />
***Abiinfo [[Ubuntu server võrgu seadistamine]] ja [[VirtualBoxi võrgud]]<br />
<br />
<source lang="bash"><br />
auto eth1<br />
iface eth1 inet static<br />
address 192.168.56.200<br />
netmask 255.255.255.0<br />
</source><br />
<br />
*Paigaldage openssh server, kui te seda installi käigus ei teinud (apt-get update && apt-get install ssh)<br />
<br />
Ubuntu Server 12.04.1 LTS ISO (64bit) http://elab.itcollege.ee:8000/ubuntu-12.04.1-server-amd64.iso<br />
<br />
Eelduste kontrollimise test harjutamiseks: http://goo.gl/73xBZ<br />
Kes tunneb, et test on '''liiga keeruline''', peab '''kaaluma''' aine deklareerimise asemel '''Osadmin aine (mis on soovituslik eeldus) läbimist'''.<br />
<br />
* '''Ubuntu Desktop Linux''' paigaldamine (Võib paigaldada ka mõne muu disrtibutsiooni desktop masina, kuna seda läheb meil niikuinii hiljem vaja)<br />
**Memory 1024MB<br />
**HDD 16GB (või 8GB) Dynamic disk<br />
**Network<br />
**Video Memory 64MB 3D acceleration sisse<br />
<br />
'''NB! Kasutamiseks valmis masinad: [http://elab.itcollege.ee:8000/ubuntu-server-64.ova server 64bit] ja [http://elab.itcollege.ee:8000/ubuntu-desktop-64.ova klient 64bit], [http://elab.itcollege.ee:8000/UbuntuServer32bit.ova server 32bit] ja [http://elab.itcollege.ee:8000/UbuntuDesktop32bit.ova klient 32bit]''' <br />
<br />
Pärast paigaldamist seadistada [https://wiki.itcollege.ee/index.php/OpenSSH:_v%C3%B5tmetega_autentimine key based autentimisega] serverisse sisenemine. (tööjaamast saab serveris käske käivitada)<br />
<br />
==Teine ja kolmas praktikum - Eeldustetest ja kordamine==<br />
<br />
Kordamiseks leiate vajalikku infot [https://wiki.itcollege.ee/index.php/Category:Operatsioonis%C3%BCsteemide_administreerimine_ja_sidumine Operatsioonisüsteemide administreerimise ja sidumise] aine vikist. <br />
<br />
[http://goo.gl/AFGfoV Eeldustetest 1]<br />
<br />
[http://goo.gl/F0PiWK Eeldustetest 2]<br />
<br />
<br />
==Linux keskhaldus puppet baasil==<br />
<br />
Praktikumis paigaldame puppet serveri (master) ja kliendi.<br />
<br />
Näiteülesanded kaitsmiseks<br />
<br />
1. Loo puppet abil fail /etc/issue sisuga KALA<br />
<br />
2. Loo puppet abil kasutaja polekala, kodukaustaga /home/polekala, shelliga /bin/zsh ( tee ka paki zsh paigaldus)<br />
<br />
3. Lisa nodele class tarkvara, mis paigaldab htop, bpython pakid<br />
<br />
4. Loo nodele class eemalda, mis eemaldab paki cowsay<br />
<br />
<br />
<br />
5. Viimane ülesanne on igal ühel erinev.<br />
<br />
5.1 Loo serverisse kasutaja kala ja tee talle ssh key. Seadista kliendiarvuti selliselt, et paigaldataks pakk ssh ja lisataks root kasutajale kliendis loodud ssh public key.<br />
<br />
5.2 Paigalda kliendi arvutisse ntp server ja määra ntp serveriteks ntp.eenet.ee ja ntp.ut.ee<br />
<br />
5.3 Lisa kliendi arvutisse apache2 veebiserver koos virtualhostiga www.planet.zz, (failis /var/www/www.planet.zz/index.html on rida www.planet.zz)<br />
Apache konfis peab olema ServerName www.planet.zz ja sites-enabled all sait www.planet.zz<br />
<br />
5.4 Lisa kliendi arvutisse bind9 nimeserver (normaalselt tööjaama seda ei tehta, kuid antud näitel on meil vaid üks konfigureeritav host). Seadista enda valitud domeeniminega tsoon koos revers tsooniga. Lisa kirjed www.sinudomeen.zz, mail.sinudomeen.zz, puppet.sinudomeen.zz koos PTR kirjetega.<br />
<br />
<br />
<br />
<br />
[[Puppet Examples]]<br />
<br />
==Keskne logiserver==<br />
Labor 2 üheks võimalikuks teemaks on keskse logihalduse lahenduse loomine<br />
<br />
[[Keskse logilahenduse rakendamine]]<br />
<br />
[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/Arnus%20-%20keskne%20logilahendus.pdf Lõputöö logihalduse teemal]<br />
<br />
<br />
http://rdstash.blogspot.com/2013/01/installing-logstash-as-syslog-server-on.html<br />
<br />
=Esseede teemad 2012=<br />
<br />
Võib valida keerulisemaid teemasid ka [[Osadmin referaadi teemad]] lehelt.<br />
<br />
[[zsh]] - pole algajale<br />
<br />
Mida uurida <br />
<br />
Prompt<br />
<br />
http://zshwiki.org/home/config/prompt<br />
<br />
http://stevelosh.com/blog/2010/02/my-extravagant-zsh-prompt/<br />
<br />
.zshrc<br />
<br />
for <br />
<br />
if <br />
<br />
while <br />
<br />
jne<br />
<br />
<br />
[[exFAT vs Linux]] - Kalju Hõbemäe<br />
<br />
<br />
[[CentOS Server]] --- teeb Oliver Naaris<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba, e-post seadistamine<br />
<br />
<br />
[[Superb Mini Server]] --- Mark-Erik Mogom, Andrus Dei <br />
<br />
Paigaldamine<br />
<br />
DNS, samba, LDAP, e-post seadistamine<br />
<br />
<br />
[[Oracle Linux]]<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba, e-post seadistamine<br />
<br />
<br />
[[Suse Linux]]<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba seadistamine<br />
<br />
[[OpenLDAP Ubuntu Serveril]] - Tarmo Suurmägi, Taavi Sannik, Harri Uljas<br />
<br />
[[Zentyal SAMBA4]] --- Lang & Lihten A31<br />
<br />
Samba4 domeenikontrolleri seadistamine ja ubuntu/fedora/muu süsteem autentimise seadistamine kasutades uusi vahendeid<br />
<br />
[[Apt-yum/dpkg-rpm käskude lühivõrdlus]] - Teet Saar A32<br />
<br />
[[Ophcrack]] - teeb Kristo Kapten<br />
<br />
[[rancid]] - Meelis Kurnikov, Aive Haavel AK31<br />
<br />
[[zenoss]] - Kristjan Vaik<br />
<br />
[[Apache autentimine LDAP'iga]] - Rauno Lehiste<br />
=Esseede teemad 2013=<br />
<br />
[[PHORONIX TEST SUITE]]<br />
<br />
[[Linux failisüsteemi jõudluse mõõtmine]]<br />
<br />
[[passenger]]<br />
<br />
[[NFTables]]<br />
<br />
[[Ipcop]] - saab kaasajastada<br />
<br />
[[suricata]] http://www.openinfosecfoundation.org/index.php/download-suricata - Martin Leppik 12.12.2013<br />
<br />
[[snort]] http://www.snort.org/ - võib kaasajastada<br />
<br />
[[Owncloud]] - Tõnu Erm AK31<br />
<br />
[[Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine) protokoll]] - Sten Aus 28.11.2013<br />
<br />
[[Keskse logilahenduse rakendamine Rsyslog näitel]] - Kimmo Lillipuu, Kaarel Kuurmann, Heigo Punapart 18.12.2013<br />
<br />
[[Keskse logihalduse tarvis kliendi Rsyslogi paigladmaine ja seadistamine pupeti abil ]] - Indrek Mitt, Priidu Niit 19.12.2013<br />
<br />
[[Nagios 3.5]] - Piia Ploovits, Sandra Sirel, Kristian Kivimägi, Grete Maisla 19.12.2013<br />
<br />
[[MySecureShell - SecureFTP]] - Kalle Kadakas 20.12.2013<br />
<br />
[[Keskne logiserver]] - Tauri Jaanus 25.12.2013<br />
<br />
=Eksamist=<br />
<br />
Tee ära labor 2 (oma valitud teemal + selle kohta wiki kirjatöö)<br />
Eksamil ole valmis demoma labor 1 raames kaitstud asju.<br />
<br />
Kirjatööd sisu tuleb eksamil kaitsta vestluse vormis.<br />
<br />
Eksami käigus saab kaitsta ka labor 1 ja 2 asju.<br />
<br />
Eksami käigus tõmbad loosi, mida labor 1 raames parandada. Õppejõud teeb teenuse katki ja tudeng teeb korda. (soovitatav on eelnevalt teha teenusest varukoopia).<br />
<br />
Punkte saab selgituse eest, mis oli katki ja kuidas tegid korda.<br />
<br />
Katki tegemisel võib arvestada näiteks, et algaja admin (õppejõud:) muutis ära parooli, rikkus võrguseaded ja kustutas täiesti süüdimatult mõne konfifaili.<br />
<br />
=Laborimaterjalid 2012=<br />
<br />
Teha apt - yum ja dpkg - rpm vastavustabel. dpkg ja apt korraldused leiab [http://elab.itcollege.ee:8000/Linux-Basics.mm Linux-Basics mindmapist]<br />
<br />
Parim töö annab 7p, järgmised 5p (piisavalt põhjalikud ja erinevad)<br />
<br />
Ebapiisavad vastavustabelid, mis sarnanevad üksteisele punkte ei saa.<br />
<br />
Kui su tabel on ilma vigadeta, kuid mitte parimate sead siis saad 1-2p.<br />
<br />
<br />
'''Praks 4'''<br />
<br />
Nimeserveri BIND9 paigaldamine.<br />
<br />
*Mõtle välja domeenimini<br />
*Paigalda nimeserver bind9<br />
*Seadista oma domeen<br />
**www.domeen<br />
**ns.domeen<br />
**sales.domeen<br />
**seadista oma kliendimasin kasutama uut nimeserverit<br />
<br />
NB: enne kaitsmist lugeda läbi http://kuutorvaja.eenet.ee/wiki/DNS<br />
<br />
Labori üks näide [[Nimeserveri seadistamine BIND9 näitel]]<br />
<br />
Praktikumi salvestus http://echo360.e-uni.ee/ess/echo/presentation/a828b6af-8caf-4319-b594-5d6bfed04a70<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' peab töötama nii nimede lahendamine läbi teie nimeserveri kui ka reverse lookup.<br />
<br />
<br />
'''Praks 5'''<br />
<br />
Veebiserveri apache2 paigaldamine<br />
<br />
*Loo veebisaidid www.domeen ja sales.domeen (ehk oma DNS labori nimedele vastavad veebisaidid)<br />
Praktikumi salvestus: http://echo360.e-uni.ee/ess/echo/presentation/0945a764-0305-48ec-8082-4e57a23cc536<br />
*Seadist HTTPS nendele saitidele (vajadusel loo uus ip alias ja muuda nimeserveris olevat kirjet, et TLS nimed viitaks erinevatele IP aadressidele)<br />
*Abiks on loeng: http://enos.itcollege.ee/~mernits/infrastruktuur/loeng04%20-%20Veebiserver.odp ja labor: https://wiki.itcollege.ee/index.php/Veebiserveri_labor_v.2<br />
*Paigalda WordPress vastavalt juhendile: http://goo.gl/6XQ0U<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' peab töötama veebiserververi apache2 pealt 2 veebilehte ning wordpress. Wordpressile peab olema paigaldatud super cache ning lisaks peab töötama varnish. Seejuures wordpress on seadistatud pordile 80 ja wordpress pordil 8080. Lehe toimivust testige enne kaitsmist ab vahendiga, kus -n 1000 ja -t 10.<br />
<br />
<br />
'''Praks 7'''<br />
Samba share-i välja jagamine. <br />
<br />
*Loo share, mis on ligipääsetav vaid kasutajatele, kes kuuluvad lab gruppi. Vajalik on ka share-ile kirjutamisõigus (saab kausta luua). <br />
* Seadista samba abil kasutajate kodukaustadele ligipääsemine. Iga kasutaja peab ligi pääsema enda kodukaustale. <br />
<br />
*Abiks on viki artiklid : https://wiki.itcollege.ee/index.php/Failiserver_Samba_labor_2 ja https://wiki.itcollege.ee/index.php/Lihtne_samba_install<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' on vajalik share-i olemasolu, mis on ligipääsetav ning kirjutatav (võimalik luua kataloogi) ainult lab gruppi kuuluvatele kasutajatele ning lab gruppi mitte kuuluvad kasutajad ei tohi sinna ligi pääseda. <br />
Lisaks peavad kasutajad pääsema ligi oma kodukaustale, sõltumata sellest, kas ta kuulub lab gruppi või mitte.<br />
<br />
<br />
'''Labor 1'''<br />
*Veebiserver ja virtualhostid<br />
*DNS<br />
*e-post<br />
*iptables<br />
*samba<br />
<br />
<br />
'''Labor 2'''<br />
*LDAP või Samba4 - LDAP Teet Saar, Kullo-Kalev Aru<br />
*Puppet või chef<br />
*PAM<br />
*Puppet (Ubuntus) - Kristo Kapten<br />
*[[Samba(windows domeenis fileserver)]] - Marko Kurs<br />
*[[TLS termineerimine nginx abil]] - Sander Arnus, Sander Saveli</div>Imitthttps://wiki.itcollege.ee/index.php?title=Linuxi_administreerimine&diff=71137Linuxi administreerimine2013-12-27T12:00:23Z<p>Imitt: /* Esseede teemad 2013 */</p>
<hr />
<div>=Üldinfo=<br />
ECTS: 4<br />
Hindamisviis: Eksam<br />
<br />
==Õppejõud==<br />
Margus Ernits<br />
<br />
Katrin Loodus<br />
<br />
=Eeldused ja sihtgrupp=<br />
<br />
Operatsioonisüsteemide administreerimine ja sidumine (Rangelt soovituslik). Osadmin aines loetava oskamine on antud aine õppimise eelduseks. ÕISis on see eeldus märgitud soovituslikuks, kuna igal aastal on paar inimest, kes suudavad mõlemad ained korraga läbida ja on antud vallas väga pädevad.<br />
Linuxi administraatori kursus on mõeldud tugeva infotehnoloogilise põhjaga arvuti-spetsialistile.<br />
Kursuse rõhk on eelkõige võrguhalduril, kelle tööülesannete hulka kuulub igapäevane serverite, võrgu jms hooldus, konfigureerimine ja uute seadmete installatsioon.<br />
<br />
=Eesmärk ja sisu=<br />
<br />
Kursuse esimeses osas õpitakse tundma Linux süsteemi toimimist, antakse ülevaade administreerimistoimingute automatiseerimisest shelli skriptide abil ja omandatakse praktiline käsufailide koostamise kogemus.<br />
<br />
Teises osas õpitakse paigaldama ja konfigureerima erinevaid võrguteenuseid. Kursuse teise osa alguses korratakse taseme ühtlustamiseks TCP/IP võrgu põhialuseid.<br />
<br />
=Õpiväljundid=<br />
<br />
<br />
=Loengud=<br />
<br />
Kaugõppe loengute ja praktikumide videosalvestused:<br />
http://echo360.e-ope.ee/ess/portal/section/4bd0abde-1b0d-4c92-a35e-0f99a81f069d<br />
<br />
<br />
1. Sissejuhatav loeng eeldustest [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng01%20-%20Sissejuhatus%20ainesse%20Linux%20administreerimine%20-%202013%20.pdf Sissejuhatus Loeng 1]<br />
<br />
1.1. Kordamine Osadmin [http://elab.itcollege.ee:8000/Linux-Basics.mm]<br />
<br />
2. Linux süsteemi põhilised komponendid [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng02%20-%20Linux%20s%c3%bcsteemide%20haldamine%20-%202013%20.pdf Linux haldamine Loeng 2]<br />
<br />
3. Linux süsteemi haldamine puppet abil I [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng03%20-%20Linux%20s%c3%bcsteemide%20haldamine%20-%202013%20.pdf Linux haldamine Loeng 3]<br />
<br />
4. Linux süsteemi haldamine puppet abil II [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%c3%bcsteemide%20haldamine%20II%20-%202013%20.pdf Linux haldamine Loeng 4]<br />
<br />
5. Linux süsteemi haldamine puppet abil III [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng05%20-%20Linux%20s%c3%bcsteemide%20haldamine%20III%20-%202013%20.pdf Linux haldamine Loeng 5]<br />
<br />
5.1 Puppeti seadistamine passenger mooduli abil [[Puppet - passenger]]<br />
<br />
Puppeti teise loengu video: http://elab.itcollege.ee:8000/linux-admin/pupppet-algus.ogv<br />
<br />
=Praktikumid=<br />
<br />
==Esimene praktikum - Ubuntu Serveri ja kliendi paigaldamine ning kordamine==<br />
* Paigaldage '''Ubuntu Linux Server''' süsteem VirtualBox abil<br />
**RAM 512MB<br />
**HDD dynamicly allocated 8GB<br />
**2 Võrgukaarti NIC1 - NAT (eth0 - Ubuntus) ja NIC2 - HostOnly (eth1 - Ubuntus)<br />
**Logige serverisse sisse ja seadistage võrk failis /etc/network/interfaces (liidese eth1 ip aadress 192.168.56.200). <br />
***Abiinfo [[Ubuntu server võrgu seadistamine]] ja [[VirtualBoxi võrgud]]<br />
<br />
<source lang="bash"><br />
auto eth1<br />
iface eth1 inet static<br />
address 192.168.56.200<br />
netmask 255.255.255.0<br />
</source><br />
<br />
*Paigaldage openssh server, kui te seda installi käigus ei teinud (apt-get update && apt-get install ssh)<br />
<br />
Ubuntu Server 12.04.1 LTS ISO (64bit) http://elab.itcollege.ee:8000/ubuntu-12.04.1-server-amd64.iso<br />
<br />
Eelduste kontrollimise test harjutamiseks: http://goo.gl/73xBZ<br />
Kes tunneb, et test on '''liiga keeruline''', peab '''kaaluma''' aine deklareerimise asemel '''Osadmin aine (mis on soovituslik eeldus) läbimist'''.<br />
<br />
* '''Ubuntu Desktop Linux''' paigaldamine (Võib paigaldada ka mõne muu disrtibutsiooni desktop masina, kuna seda läheb meil niikuinii hiljem vaja)<br />
**Memory 1024MB<br />
**HDD 16GB (või 8GB) Dynamic disk<br />
**Network<br />
**Video Memory 64MB 3D acceleration sisse<br />
<br />
'''NB! Kasutamiseks valmis masinad: [http://elab.itcollege.ee:8000/ubuntu-server-64.ova server 64bit] ja [http://elab.itcollege.ee:8000/ubuntu-desktop-64.ova klient 64bit], [http://elab.itcollege.ee:8000/UbuntuServer32bit.ova server 32bit] ja [http://elab.itcollege.ee:8000/UbuntuDesktop32bit.ova klient 32bit]''' <br />
<br />
Pärast paigaldamist seadistada [https://wiki.itcollege.ee/index.php/OpenSSH:_v%C3%B5tmetega_autentimine key based autentimisega] serverisse sisenemine. (tööjaamast saab serveris käske käivitada)<br />
<br />
==Teine ja kolmas praktikum - Eeldustetest ja kordamine==<br />
<br />
Kordamiseks leiate vajalikku infot [https://wiki.itcollege.ee/index.php/Category:Operatsioonis%C3%BCsteemide_administreerimine_ja_sidumine Operatsioonisüsteemide administreerimise ja sidumise] aine vikist. <br />
<br />
[http://goo.gl/AFGfoV Eeldustetest 1]<br />
<br />
[http://goo.gl/F0PiWK Eeldustetest 2]<br />
<br />
<br />
==Linux keskhaldus puppet baasil==<br />
<br />
Praktikumis paigaldame puppet serveri (master) ja kliendi.<br />
<br />
Näiteülesanded kaitsmiseks<br />
<br />
1. Loo puppet abil fail /etc/issue sisuga KALA<br />
<br />
2. Loo puppet abil kasutaja polekala, kodukaustaga /home/polekala, shelliga /bin/zsh ( tee ka paki zsh paigaldus)<br />
<br />
3. Lisa nodele class tarkvara, mis paigaldab htop, bpython pakid<br />
<br />
4. Loo nodele class eemalda, mis eemaldab paki cowsay<br />
<br />
<br />
<br />
5. Viimane ülesanne on igal ühel erinev.<br />
<br />
5.1 Loo serverisse kasutaja kala ja tee talle ssh key. Seadista kliendiarvuti selliselt, et paigaldataks pakk ssh ja lisataks root kasutajale kliendis loodud ssh public key.<br />
<br />
5.2 Paigalda kliendi arvutisse ntp server ja määra ntp serveriteks ntp.eenet.ee ja ntp.ut.ee<br />
<br />
5.3 Lisa kliendi arvutisse apache2 veebiserver koos virtualhostiga www.planet.zz, (failis /var/www/www.planet.zz/index.html on rida www.planet.zz)<br />
Apache konfis peab olema ServerName www.planet.zz ja sites-enabled all sait www.planet.zz<br />
<br />
5.4 Lisa kliendi arvutisse bind9 nimeserver (normaalselt tööjaama seda ei tehta, kuid antud näitel on meil vaid üks konfigureeritav host). Seadista enda valitud domeeniminega tsoon koos revers tsooniga. Lisa kirjed www.sinudomeen.zz, mail.sinudomeen.zz, puppet.sinudomeen.zz koos PTR kirjetega.<br />
<br />
<br />
<br />
<br />
[[Puppet Examples]]<br />
<br />
==Keskne logiserver==<br />
Labor 2 üheks võimalikuks teemaks on keskse logihalduse lahenduse loomine<br />
<br />
[[Keskse logilahenduse rakendamine]]<br />
<br />
[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/Arnus%20-%20keskne%20logilahendus.pdf Lõputöö logihalduse teemal]<br />
<br />
<br />
http://rdstash.blogspot.com/2013/01/installing-logstash-as-syslog-server-on.html<br />
<br />
=Esseede teemad 2012=<br />
<br />
Võib valida keerulisemaid teemasid ka [[Osadmin referaadi teemad]] lehelt.<br />
<br />
[[zsh]] - pole algajale<br />
<br />
Mida uurida <br />
<br />
Prompt<br />
<br />
http://zshwiki.org/home/config/prompt<br />
<br />
http://stevelosh.com/blog/2010/02/my-extravagant-zsh-prompt/<br />
<br />
.zshrc<br />
<br />
for <br />
<br />
if <br />
<br />
while <br />
<br />
jne<br />
<br />
<br />
[[exFAT vs Linux]] - Kalju Hõbemäe<br />
<br />
<br />
[[CentOS Server]] --- teeb Oliver Naaris<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba, e-post seadistamine<br />
<br />
<br />
[[Superb Mini Server]] --- Mark-Erik Mogom, Andrus Dei <br />
<br />
Paigaldamine<br />
<br />
DNS, samba, LDAP, e-post seadistamine<br />
<br />
<br />
[[Oracle Linux]]<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba, e-post seadistamine<br />
<br />
<br />
[[Suse Linux]]<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba seadistamine<br />
<br />
[[OpenLDAP Ubuntu Serveril]] - Tarmo Suurmägi, Taavi Sannik, Harri Uljas<br />
<br />
[[Zentyal SAMBA4]] --- Lang & Lihten A31<br />
<br />
Samba4 domeenikontrolleri seadistamine ja ubuntu/fedora/muu süsteem autentimise seadistamine kasutades uusi vahendeid<br />
<br />
[[Apt-yum/dpkg-rpm käskude lühivõrdlus]] - Teet Saar A32<br />
<br />
[[Ophcrack]] - teeb Kristo Kapten<br />
<br />
[[rancid]] - Meelis Kurnikov, Aive Haavel AK31<br />
<br />
[[zenoss]] - Kristjan Vaik<br />
<br />
[[Apache autentimine LDAP'iga]] - Rauno Lehiste<br />
=Esseede teemad 2013=<br />
<br />
[[PHORONIX TEST SUITE]]<br />
<br />
[[Linux failisüsteemi jõudluse mõõtmine]]<br />
<br />
[[passenger]]<br />
<br />
[[NFTables]]<br />
<br />
[[Ipcop]] - saab kaasajastada<br />
<br />
[[suricata]] http://www.openinfosecfoundation.org/index.php/download-suricata - Martin Leppik 12.12.2013<br />
<br />
[[snort]] http://www.snort.org/ - võib kaasajastada<br />
<br />
[[Owncloud]] - Tõnu Erm AK31<br />
<br />
[[Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine) protokoll]] - Sten Aus 28.11.2013<br />
<br />
[[Keskse logilahenduse rakendamine Rsyslog näitel]] - Kimmo Lillipuu, Kaarel Kuurmann, Heigo Punapart 18.12.2013<br />
<br />
[[Keskse logihalduse tarvis kliendil Rsyslogi paigladmaine ja seadistamine pupeti abil ]] - Indrek Mitt, Priidu Niit 19.12.2013<br />
<br />
[[Nagios 3.5]] - Piia Ploovits, Sandra Sirel, Kristian Kivimägi, Grete Maisla 19.12.2013<br />
<br />
[[MySecureShell - SecureFTP]] - Kalle Kadakas 20.12.2013<br />
<br />
[[Keskne logiserver]] - Tauri Jaanus 25.12.2013<br />
<br />
=Eksamist=<br />
<br />
Tee ära labor 2 (oma valitud teemal + selle kohta wiki kirjatöö)<br />
Eksamil ole valmis demoma labor 1 raames kaitstud asju.<br />
<br />
Kirjatööd sisu tuleb eksamil kaitsta vestluse vormis.<br />
<br />
Eksami käigus saab kaitsta ka labor 1 ja 2 asju.<br />
<br />
Eksami käigus tõmbad loosi, mida labor 1 raames parandada. Õppejõud teeb teenuse katki ja tudeng teeb korda. (soovitatav on eelnevalt teha teenusest varukoopia).<br />
<br />
Punkte saab selgituse eest, mis oli katki ja kuidas tegid korda.<br />
<br />
Katki tegemisel võib arvestada näiteks, et algaja admin (õppejõud:) muutis ära parooli, rikkus võrguseaded ja kustutas täiesti süüdimatult mõne konfifaili.<br />
<br />
=Laborimaterjalid 2012=<br />
<br />
Teha apt - yum ja dpkg - rpm vastavustabel. dpkg ja apt korraldused leiab [http://elab.itcollege.ee:8000/Linux-Basics.mm Linux-Basics mindmapist]<br />
<br />
Parim töö annab 7p, järgmised 5p (piisavalt põhjalikud ja erinevad)<br />
<br />
Ebapiisavad vastavustabelid, mis sarnanevad üksteisele punkte ei saa.<br />
<br />
Kui su tabel on ilma vigadeta, kuid mitte parimate sead siis saad 1-2p.<br />
<br />
<br />
'''Praks 4'''<br />
<br />
Nimeserveri BIND9 paigaldamine.<br />
<br />
*Mõtle välja domeenimini<br />
*Paigalda nimeserver bind9<br />
*Seadista oma domeen<br />
**www.domeen<br />
**ns.domeen<br />
**sales.domeen<br />
**seadista oma kliendimasin kasutama uut nimeserverit<br />
<br />
NB: enne kaitsmist lugeda läbi http://kuutorvaja.eenet.ee/wiki/DNS<br />
<br />
Labori üks näide [[Nimeserveri seadistamine BIND9 näitel]]<br />
<br />
Praktikumi salvestus http://echo360.e-uni.ee/ess/echo/presentation/a828b6af-8caf-4319-b594-5d6bfed04a70<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' peab töötama nii nimede lahendamine läbi teie nimeserveri kui ka reverse lookup.<br />
<br />
<br />
'''Praks 5'''<br />
<br />
Veebiserveri apache2 paigaldamine<br />
<br />
*Loo veebisaidid www.domeen ja sales.domeen (ehk oma DNS labori nimedele vastavad veebisaidid)<br />
Praktikumi salvestus: http://echo360.e-uni.ee/ess/echo/presentation/0945a764-0305-48ec-8082-4e57a23cc536<br />
*Seadist HTTPS nendele saitidele (vajadusel loo uus ip alias ja muuda nimeserveris olevat kirjet, et TLS nimed viitaks erinevatele IP aadressidele)<br />
*Abiks on loeng: http://enos.itcollege.ee/~mernits/infrastruktuur/loeng04%20-%20Veebiserver.odp ja labor: https://wiki.itcollege.ee/index.php/Veebiserveri_labor_v.2<br />
*Paigalda WordPress vastavalt juhendile: http://goo.gl/6XQ0U<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' peab töötama veebiserververi apache2 pealt 2 veebilehte ning wordpress. Wordpressile peab olema paigaldatud super cache ning lisaks peab töötama varnish. Seejuures wordpress on seadistatud pordile 80 ja wordpress pordil 8080. Lehe toimivust testige enne kaitsmist ab vahendiga, kus -n 1000 ja -t 10.<br />
<br />
<br />
'''Praks 7'''<br />
Samba share-i välja jagamine. <br />
<br />
*Loo share, mis on ligipääsetav vaid kasutajatele, kes kuuluvad lab gruppi. Vajalik on ka share-ile kirjutamisõigus (saab kausta luua). <br />
* Seadista samba abil kasutajate kodukaustadele ligipääsemine. Iga kasutaja peab ligi pääsema enda kodukaustale. <br />
<br />
*Abiks on viki artiklid : https://wiki.itcollege.ee/index.php/Failiserver_Samba_labor_2 ja https://wiki.itcollege.ee/index.php/Lihtne_samba_install<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' on vajalik share-i olemasolu, mis on ligipääsetav ning kirjutatav (võimalik luua kataloogi) ainult lab gruppi kuuluvatele kasutajatele ning lab gruppi mitte kuuluvad kasutajad ei tohi sinna ligi pääseda. <br />
Lisaks peavad kasutajad pääsema ligi oma kodukaustale, sõltumata sellest, kas ta kuulub lab gruppi või mitte.<br />
<br />
<br />
'''Labor 1'''<br />
*Veebiserver ja virtualhostid<br />
*DNS<br />
*e-post<br />
*iptables<br />
*samba<br />
<br />
<br />
'''Labor 2'''<br />
*LDAP või Samba4 - LDAP Teet Saar, Kullo-Kalev Aru<br />
*Puppet või chef<br />
*PAM<br />
*Puppet (Ubuntus) - Kristo Kapten<br />
*[[Samba(windows domeenis fileserver)]] - Marko Kurs<br />
*[[TLS termineerimine nginx abil]] - Sander Arnus, Sander Saveli</div>Imitthttps://wiki.itcollege.ee/index.php?title=Linuxi_administreerimine&diff=71131Linuxi administreerimine2013-12-27T11:53:52Z<p>Imitt: /* Esseede teemad 2013 */</p>
<hr />
<div>=Üldinfo=<br />
ECTS: 4<br />
Hindamisviis: Eksam<br />
<br />
==Õppejõud==<br />
Margus Ernits<br />
<br />
Katrin Loodus<br />
<br />
=Eeldused ja sihtgrupp=<br />
<br />
Operatsioonisüsteemide administreerimine ja sidumine (Rangelt soovituslik). Osadmin aines loetava oskamine on antud aine õppimise eelduseks. ÕISis on see eeldus märgitud soovituslikuks, kuna igal aastal on paar inimest, kes suudavad mõlemad ained korraga läbida ja on antud vallas väga pädevad.<br />
Linuxi administraatori kursus on mõeldud tugeva infotehnoloogilise põhjaga arvuti-spetsialistile.<br />
Kursuse rõhk on eelkõige võrguhalduril, kelle tööülesannete hulka kuulub igapäevane serverite, võrgu jms hooldus, konfigureerimine ja uute seadmete installatsioon.<br />
<br />
=Eesmärk ja sisu=<br />
<br />
Kursuse esimeses osas õpitakse tundma Linux süsteemi toimimist, antakse ülevaade administreerimistoimingute automatiseerimisest shelli skriptide abil ja omandatakse praktiline käsufailide koostamise kogemus.<br />
<br />
Teises osas õpitakse paigaldama ja konfigureerima erinevaid võrguteenuseid. Kursuse teise osa alguses korratakse taseme ühtlustamiseks TCP/IP võrgu põhialuseid.<br />
<br />
=Õpiväljundid=<br />
<br />
<br />
=Loengud=<br />
<br />
Kaugõppe loengute ja praktikumide videosalvestused:<br />
http://echo360.e-ope.ee/ess/portal/section/4bd0abde-1b0d-4c92-a35e-0f99a81f069d<br />
<br />
<br />
1. Sissejuhatav loeng eeldustest [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng01%20-%20Sissejuhatus%20ainesse%20Linux%20administreerimine%20-%202013%20.pdf Sissejuhatus Loeng 1]<br />
<br />
1.1. Kordamine Osadmin [http://elab.itcollege.ee:8000/Linux-Basics.mm]<br />
<br />
2. Linux süsteemi põhilised komponendid [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng02%20-%20Linux%20s%c3%bcsteemide%20haldamine%20-%202013%20.pdf Linux haldamine Loeng 2]<br />
<br />
3. Linux süsteemi haldamine puppet abil I [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng03%20-%20Linux%20s%c3%bcsteemide%20haldamine%20-%202013%20.pdf Linux haldamine Loeng 3]<br />
<br />
4. Linux süsteemi haldamine puppet abil II [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%c3%bcsteemide%20haldamine%20II%20-%202013%20.pdf Linux haldamine Loeng 4]<br />
<br />
5. Linux süsteemi haldamine puppet abil III [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng05%20-%20Linux%20s%c3%bcsteemide%20haldamine%20III%20-%202013%20.pdf Linux haldamine Loeng 5]<br />
<br />
5.1 Puppeti seadistamine passenger mooduli abil [[Puppet - passenger]]<br />
<br />
Puppeti teise loengu video: http://elab.itcollege.ee:8000/linux-admin/pupppet-algus.ogv<br />
<br />
=Praktikumid=<br />
<br />
==Esimene praktikum - Ubuntu Serveri ja kliendi paigaldamine ning kordamine==<br />
* Paigaldage '''Ubuntu Linux Server''' süsteem VirtualBox abil<br />
**RAM 512MB<br />
**HDD dynamicly allocated 8GB<br />
**2 Võrgukaarti NIC1 - NAT (eth0 - Ubuntus) ja NIC2 - HostOnly (eth1 - Ubuntus)<br />
**Logige serverisse sisse ja seadistage võrk failis /etc/network/interfaces (liidese eth1 ip aadress 192.168.56.200). <br />
***Abiinfo [[Ubuntu server võrgu seadistamine]] ja [[VirtualBoxi võrgud]]<br />
<br />
<source lang="bash"><br />
auto eth1<br />
iface eth1 inet static<br />
address 192.168.56.200<br />
netmask 255.255.255.0<br />
</source><br />
<br />
*Paigaldage openssh server, kui te seda installi käigus ei teinud (apt-get update && apt-get install ssh)<br />
<br />
Ubuntu Server 12.04.1 LTS ISO (64bit) http://elab.itcollege.ee:8000/ubuntu-12.04.1-server-amd64.iso<br />
<br />
Eelduste kontrollimise test harjutamiseks: http://goo.gl/73xBZ<br />
Kes tunneb, et test on '''liiga keeruline''', peab '''kaaluma''' aine deklareerimise asemel '''Osadmin aine (mis on soovituslik eeldus) läbimist'''.<br />
<br />
* '''Ubuntu Desktop Linux''' paigaldamine (Võib paigaldada ka mõne muu disrtibutsiooni desktop masina, kuna seda läheb meil niikuinii hiljem vaja)<br />
**Memory 1024MB<br />
**HDD 16GB (või 8GB) Dynamic disk<br />
**Network<br />
**Video Memory 64MB 3D acceleration sisse<br />
<br />
'''NB! Kasutamiseks valmis masinad: [http://elab.itcollege.ee:8000/ubuntu-server-64.ova server 64bit] ja [http://elab.itcollege.ee:8000/ubuntu-desktop-64.ova klient 64bit], [http://elab.itcollege.ee:8000/UbuntuServer32bit.ova server 32bit] ja [http://elab.itcollege.ee:8000/UbuntuDesktop32bit.ova klient 32bit]''' <br />
<br />
Pärast paigaldamist seadistada [https://wiki.itcollege.ee/index.php/OpenSSH:_v%C3%B5tmetega_autentimine key based autentimisega] serverisse sisenemine. (tööjaamast saab serveris käske käivitada)<br />
<br />
==Teine ja kolmas praktikum - Eeldustetest ja kordamine==<br />
<br />
Kordamiseks leiate vajalikku infot [https://wiki.itcollege.ee/index.php/Category:Operatsioonis%C3%BCsteemide_administreerimine_ja_sidumine Operatsioonisüsteemide administreerimise ja sidumise] aine vikist. <br />
<br />
[http://goo.gl/AFGfoV Eeldustetest 1]<br />
<br />
[http://goo.gl/F0PiWK Eeldustetest 2]<br />
<br />
<br />
==Linux keskhaldus puppet baasil==<br />
<br />
Praktikumis paigaldame puppet serveri (master) ja kliendi.<br />
<br />
Näiteülesanded kaitsmiseks<br />
<br />
1. Loo puppet abil fail /etc/issue sisuga KALA<br />
<br />
2. Loo puppet abil kasutaja polekala, kodukaustaga /home/polekala, shelliga /bin/zsh ( tee ka paki zsh paigaldus)<br />
<br />
3. Lisa nodele class tarkvara, mis paigaldab htop, bpython pakid<br />
<br />
4. Loo nodele class eemalda, mis eemaldab paki cowsay<br />
<br />
<br />
<br />
5. Viimane ülesanne on igal ühel erinev.<br />
<br />
5.1 Loo serverisse kasutaja kala ja tee talle ssh key. Seadista kliendiarvuti selliselt, et paigaldataks pakk ssh ja lisataks root kasutajale kliendis loodud ssh public key.<br />
<br />
5.2 Paigalda kliendi arvutisse ntp server ja määra ntp serveriteks ntp.eenet.ee ja ntp.ut.ee<br />
<br />
5.3 Lisa kliendi arvutisse apache2 veebiserver koos virtualhostiga www.planet.zz, (failis /var/www/www.planet.zz/index.html on rida www.planet.zz)<br />
Apache konfis peab olema ServerName www.planet.zz ja sites-enabled all sait www.planet.zz<br />
<br />
5.4 Lisa kliendi arvutisse bind9 nimeserver (normaalselt tööjaama seda ei tehta, kuid antud näitel on meil vaid üks konfigureeritav host). Seadista enda valitud domeeniminega tsoon koos revers tsooniga. Lisa kirjed www.sinudomeen.zz, mail.sinudomeen.zz, puppet.sinudomeen.zz koos PTR kirjetega.<br />
<br />
<br />
<br />
<br />
[[Puppet Examples]]<br />
<br />
==Keskne logiserver==<br />
Labor 2 üheks võimalikuks teemaks on keskse logihalduse lahenduse loomine<br />
<br />
[[Keskse logilahenduse rakendamine]]<br />
<br />
[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/Arnus%20-%20keskne%20logilahendus.pdf Lõputöö logihalduse teemal]<br />
<br />
<br />
http://rdstash.blogspot.com/2013/01/installing-logstash-as-syslog-server-on.html<br />
<br />
=Esseede teemad 2012=<br />
<br />
Võib valida keerulisemaid teemasid ka [[Osadmin referaadi teemad]] lehelt.<br />
<br />
[[zsh]] - pole algajale<br />
<br />
Mida uurida <br />
<br />
Prompt<br />
<br />
http://zshwiki.org/home/config/prompt<br />
<br />
http://stevelosh.com/blog/2010/02/my-extravagant-zsh-prompt/<br />
<br />
.zshrc<br />
<br />
for <br />
<br />
if <br />
<br />
while <br />
<br />
jne<br />
<br />
<br />
[[exFAT vs Linux]] - Kalju Hõbemäe<br />
<br />
<br />
[[CentOS Server]] --- teeb Oliver Naaris<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba, e-post seadistamine<br />
<br />
<br />
[[Superb Mini Server]] --- Mark-Erik Mogom, Andrus Dei <br />
<br />
Paigaldamine<br />
<br />
DNS, samba, LDAP, e-post seadistamine<br />
<br />
<br />
[[Oracle Linux]]<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba, e-post seadistamine<br />
<br />
<br />
[[Suse Linux]]<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba seadistamine<br />
<br />
[[OpenLDAP Ubuntu Serveril]] - Tarmo Suurmägi, Taavi Sannik, Harri Uljas<br />
<br />
[[Zentyal SAMBA4]] --- Lang & Lihten A31<br />
<br />
Samba4 domeenikontrolleri seadistamine ja ubuntu/fedora/muu süsteem autentimise seadistamine kasutades uusi vahendeid<br />
<br />
[[Apt-yum/dpkg-rpm käskude lühivõrdlus]] - Teet Saar A32<br />
<br />
[[Ophcrack]] - teeb Kristo Kapten<br />
<br />
[[rancid]] - Meelis Kurnikov, Aive Haavel AK31<br />
<br />
[[zenoss]] - Kristjan Vaik<br />
<br />
[[Apache autentimine LDAP'iga]] - Rauno Lehiste<br />
=Esseede teemad 2013=<br />
<br />
[[PHORONIX TEST SUITE]]<br />
<br />
[[Linux failisüsteemi jõudluse mõõtmine]]<br />
<br />
[[passenger]]<br />
<br />
[[NFTables]]<br />
<br />
[[Ipcop]] - saab kaasajastada<br />
<br />
[[suricata]] http://www.openinfosecfoundation.org/index.php/download-suricata - Martin Leppik 12.12.2013<br />
<br />
[[snort]] http://www.snort.org/ - võib kaasajastada<br />
<br />
[[Owncloud]] - Tõnu Erm AK31<br />
<br />
[[Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine) protokoll]] - Sten Aus 28.11.2013<br />
<br />
[[Keskse logilahenduse rakendamine Rsyslog näitel]] - Kimmo Lillipuu, Kaarel Kuurmann, Heigo Punapart 18.12.2013<br />
<br />
[[Keskse logi logihalduse tarvis kliendi seadistamine pupeti abil ]] - Indrek Mitt, Priidu Niit 19.12.2013<br />
<br />
[[Nagios 3.5]] - Piia Ploovits, Sandra Sirel, Kristian Kivimägi, Grete Maisla 19.12.2013<br />
<br />
[[MySecureShell - SecureFTP]] - Kalle Kadakas 20.12.2013<br />
<br />
[[Keskne logiserver]] - Tauri Jaanus 25.12.2013<br />
<br />
=Eksamist=<br />
<br />
Tee ära labor 2 (oma valitud teemal + selle kohta wiki kirjatöö)<br />
Eksamil ole valmis demoma labor 1 raames kaitstud asju.<br />
<br />
Kirjatööd sisu tuleb eksamil kaitsta vestluse vormis.<br />
<br />
Eksami käigus saab kaitsta ka labor 1 ja 2 asju.<br />
<br />
Eksami käigus tõmbad loosi, mida labor 1 raames parandada. Õppejõud teeb teenuse katki ja tudeng teeb korda. (soovitatav on eelnevalt teha teenusest varukoopia).<br />
<br />
Punkte saab selgituse eest, mis oli katki ja kuidas tegid korda.<br />
<br />
Katki tegemisel võib arvestada näiteks, et algaja admin (õppejõud:) muutis ära parooli, rikkus võrguseaded ja kustutas täiesti süüdimatult mõne konfifaili.<br />
<br />
=Laborimaterjalid 2012=<br />
<br />
Teha apt - yum ja dpkg - rpm vastavustabel. dpkg ja apt korraldused leiab [http://elab.itcollege.ee:8000/Linux-Basics.mm Linux-Basics mindmapist]<br />
<br />
Parim töö annab 7p, järgmised 5p (piisavalt põhjalikud ja erinevad)<br />
<br />
Ebapiisavad vastavustabelid, mis sarnanevad üksteisele punkte ei saa.<br />
<br />
Kui su tabel on ilma vigadeta, kuid mitte parimate sead siis saad 1-2p.<br />
<br />
<br />
'''Praks 4'''<br />
<br />
Nimeserveri BIND9 paigaldamine.<br />
<br />
*Mõtle välja domeenimini<br />
*Paigalda nimeserver bind9<br />
*Seadista oma domeen<br />
**www.domeen<br />
**ns.domeen<br />
**sales.domeen<br />
**seadista oma kliendimasin kasutama uut nimeserverit<br />
<br />
NB: enne kaitsmist lugeda läbi http://kuutorvaja.eenet.ee/wiki/DNS<br />
<br />
Labori üks näide [[Nimeserveri seadistamine BIND9 näitel]]<br />
<br />
Praktikumi salvestus http://echo360.e-uni.ee/ess/echo/presentation/a828b6af-8caf-4319-b594-5d6bfed04a70<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' peab töötama nii nimede lahendamine läbi teie nimeserveri kui ka reverse lookup.<br />
<br />
<br />
'''Praks 5'''<br />
<br />
Veebiserveri apache2 paigaldamine<br />
<br />
*Loo veebisaidid www.domeen ja sales.domeen (ehk oma DNS labori nimedele vastavad veebisaidid)<br />
Praktikumi salvestus: http://echo360.e-uni.ee/ess/echo/presentation/0945a764-0305-48ec-8082-4e57a23cc536<br />
*Seadist HTTPS nendele saitidele (vajadusel loo uus ip alias ja muuda nimeserveris olevat kirjet, et TLS nimed viitaks erinevatele IP aadressidele)<br />
*Abiks on loeng: http://enos.itcollege.ee/~mernits/infrastruktuur/loeng04%20-%20Veebiserver.odp ja labor: https://wiki.itcollege.ee/index.php/Veebiserveri_labor_v.2<br />
*Paigalda WordPress vastavalt juhendile: http://goo.gl/6XQ0U<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' peab töötama veebiserververi apache2 pealt 2 veebilehte ning wordpress. Wordpressile peab olema paigaldatud super cache ning lisaks peab töötama varnish. Seejuures wordpress on seadistatud pordile 80 ja wordpress pordil 8080. Lehe toimivust testige enne kaitsmist ab vahendiga, kus -n 1000 ja -t 10.<br />
<br />
<br />
'''Praks 7'''<br />
Samba share-i välja jagamine. <br />
<br />
*Loo share, mis on ligipääsetav vaid kasutajatele, kes kuuluvad lab gruppi. Vajalik on ka share-ile kirjutamisõigus (saab kausta luua). <br />
* Seadista samba abil kasutajate kodukaustadele ligipääsemine. Iga kasutaja peab ligi pääsema enda kodukaustale. <br />
<br />
*Abiks on viki artiklid : https://wiki.itcollege.ee/index.php/Failiserver_Samba_labor_2 ja https://wiki.itcollege.ee/index.php/Lihtne_samba_install<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' on vajalik share-i olemasolu, mis on ligipääsetav ning kirjutatav (võimalik luua kataloogi) ainult lab gruppi kuuluvatele kasutajatele ning lab gruppi mitte kuuluvad kasutajad ei tohi sinna ligi pääseda. <br />
Lisaks peavad kasutajad pääsema ligi oma kodukaustale, sõltumata sellest, kas ta kuulub lab gruppi või mitte.<br />
<br />
<br />
'''Labor 1'''<br />
*Veebiserver ja virtualhostid<br />
*DNS<br />
*e-post<br />
*iptables<br />
*samba<br />
<br />
<br />
'''Labor 2'''<br />
*LDAP või Samba4 - LDAP Teet Saar, Kullo-Kalev Aru<br />
*Puppet või chef<br />
*PAM<br />
*Puppet (Ubuntus) - Kristo Kapten<br />
*[[Samba(windows domeenis fileserver)]] - Marko Kurs<br />
*[[TLS termineerimine nginx abil]] - Sander Arnus, Sander Saveli</div>Imitthttps://wiki.itcollege.ee/index.php?title=Linuxi_administreerimine&diff=71130Linuxi administreerimine2013-12-27T11:53:00Z<p>Imitt: /* Esseede teemad 2013 */</p>
<hr />
<div>=Üldinfo=<br />
ECTS: 4<br />
Hindamisviis: Eksam<br />
<br />
==Õppejõud==<br />
Margus Ernits<br />
<br />
Katrin Loodus<br />
<br />
=Eeldused ja sihtgrupp=<br />
<br />
Operatsioonisüsteemide administreerimine ja sidumine (Rangelt soovituslik). Osadmin aines loetava oskamine on antud aine õppimise eelduseks. ÕISis on see eeldus märgitud soovituslikuks, kuna igal aastal on paar inimest, kes suudavad mõlemad ained korraga läbida ja on antud vallas väga pädevad.<br />
Linuxi administraatori kursus on mõeldud tugeva infotehnoloogilise põhjaga arvuti-spetsialistile.<br />
Kursuse rõhk on eelkõige võrguhalduril, kelle tööülesannete hulka kuulub igapäevane serverite, võrgu jms hooldus, konfigureerimine ja uute seadmete installatsioon.<br />
<br />
=Eesmärk ja sisu=<br />
<br />
Kursuse esimeses osas õpitakse tundma Linux süsteemi toimimist, antakse ülevaade administreerimistoimingute automatiseerimisest shelli skriptide abil ja omandatakse praktiline käsufailide koostamise kogemus.<br />
<br />
Teises osas õpitakse paigaldama ja konfigureerima erinevaid võrguteenuseid. Kursuse teise osa alguses korratakse taseme ühtlustamiseks TCP/IP võrgu põhialuseid.<br />
<br />
=Õpiväljundid=<br />
<br />
<br />
=Loengud=<br />
<br />
Kaugõppe loengute ja praktikumide videosalvestused:<br />
http://echo360.e-ope.ee/ess/portal/section/4bd0abde-1b0d-4c92-a35e-0f99a81f069d<br />
<br />
<br />
1. Sissejuhatav loeng eeldustest [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng01%20-%20Sissejuhatus%20ainesse%20Linux%20administreerimine%20-%202013%20.pdf Sissejuhatus Loeng 1]<br />
<br />
1.1. Kordamine Osadmin [http://elab.itcollege.ee:8000/Linux-Basics.mm]<br />
<br />
2. Linux süsteemi põhilised komponendid [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng02%20-%20Linux%20s%c3%bcsteemide%20haldamine%20-%202013%20.pdf Linux haldamine Loeng 2]<br />
<br />
3. Linux süsteemi haldamine puppet abil I [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng03%20-%20Linux%20s%c3%bcsteemide%20haldamine%20-%202013%20.pdf Linux haldamine Loeng 3]<br />
<br />
4. Linux süsteemi haldamine puppet abil II [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%c3%bcsteemide%20haldamine%20II%20-%202013%20.pdf Linux haldamine Loeng 4]<br />
<br />
5. Linux süsteemi haldamine puppet abil III [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng05%20-%20Linux%20s%c3%bcsteemide%20haldamine%20III%20-%202013%20.pdf Linux haldamine Loeng 5]<br />
<br />
5.1 Puppeti seadistamine passenger mooduli abil [[Puppet - passenger]]<br />
<br />
Puppeti teise loengu video: http://elab.itcollege.ee:8000/linux-admin/pupppet-algus.ogv<br />
<br />
=Praktikumid=<br />
<br />
==Esimene praktikum - Ubuntu Serveri ja kliendi paigaldamine ning kordamine==<br />
* Paigaldage '''Ubuntu Linux Server''' süsteem VirtualBox abil<br />
**RAM 512MB<br />
**HDD dynamicly allocated 8GB<br />
**2 Võrgukaarti NIC1 - NAT (eth0 - Ubuntus) ja NIC2 - HostOnly (eth1 - Ubuntus)<br />
**Logige serverisse sisse ja seadistage võrk failis /etc/network/interfaces (liidese eth1 ip aadress 192.168.56.200). <br />
***Abiinfo [[Ubuntu server võrgu seadistamine]] ja [[VirtualBoxi võrgud]]<br />
<br />
<source lang="bash"><br />
auto eth1<br />
iface eth1 inet static<br />
address 192.168.56.200<br />
netmask 255.255.255.0<br />
</source><br />
<br />
*Paigaldage openssh server, kui te seda installi käigus ei teinud (apt-get update && apt-get install ssh)<br />
<br />
Ubuntu Server 12.04.1 LTS ISO (64bit) http://elab.itcollege.ee:8000/ubuntu-12.04.1-server-amd64.iso<br />
<br />
Eelduste kontrollimise test harjutamiseks: http://goo.gl/73xBZ<br />
Kes tunneb, et test on '''liiga keeruline''', peab '''kaaluma''' aine deklareerimise asemel '''Osadmin aine (mis on soovituslik eeldus) läbimist'''.<br />
<br />
* '''Ubuntu Desktop Linux''' paigaldamine (Võib paigaldada ka mõne muu disrtibutsiooni desktop masina, kuna seda läheb meil niikuinii hiljem vaja)<br />
**Memory 1024MB<br />
**HDD 16GB (või 8GB) Dynamic disk<br />
**Network<br />
**Video Memory 64MB 3D acceleration sisse<br />
<br />
'''NB! Kasutamiseks valmis masinad: [http://elab.itcollege.ee:8000/ubuntu-server-64.ova server 64bit] ja [http://elab.itcollege.ee:8000/ubuntu-desktop-64.ova klient 64bit], [http://elab.itcollege.ee:8000/UbuntuServer32bit.ova server 32bit] ja [http://elab.itcollege.ee:8000/UbuntuDesktop32bit.ova klient 32bit]''' <br />
<br />
Pärast paigaldamist seadistada [https://wiki.itcollege.ee/index.php/OpenSSH:_v%C3%B5tmetega_autentimine key based autentimisega] serverisse sisenemine. (tööjaamast saab serveris käske käivitada)<br />
<br />
==Teine ja kolmas praktikum - Eeldustetest ja kordamine==<br />
<br />
Kordamiseks leiate vajalikku infot [https://wiki.itcollege.ee/index.php/Category:Operatsioonis%C3%BCsteemide_administreerimine_ja_sidumine Operatsioonisüsteemide administreerimise ja sidumise] aine vikist. <br />
<br />
[http://goo.gl/AFGfoV Eeldustetest 1]<br />
<br />
[http://goo.gl/F0PiWK Eeldustetest 2]<br />
<br />
<br />
==Linux keskhaldus puppet baasil==<br />
<br />
Praktikumis paigaldame puppet serveri (master) ja kliendi.<br />
<br />
Näiteülesanded kaitsmiseks<br />
<br />
1. Loo puppet abil fail /etc/issue sisuga KALA<br />
<br />
2. Loo puppet abil kasutaja polekala, kodukaustaga /home/polekala, shelliga /bin/zsh ( tee ka paki zsh paigaldus)<br />
<br />
3. Lisa nodele class tarkvara, mis paigaldab htop, bpython pakid<br />
<br />
4. Loo nodele class eemalda, mis eemaldab paki cowsay<br />
<br />
<br />
<br />
5. Viimane ülesanne on igal ühel erinev.<br />
<br />
5.1 Loo serverisse kasutaja kala ja tee talle ssh key. Seadista kliendiarvuti selliselt, et paigaldataks pakk ssh ja lisataks root kasutajale kliendis loodud ssh public key.<br />
<br />
5.2 Paigalda kliendi arvutisse ntp server ja määra ntp serveriteks ntp.eenet.ee ja ntp.ut.ee<br />
<br />
5.3 Lisa kliendi arvutisse apache2 veebiserver koos virtualhostiga www.planet.zz, (failis /var/www/www.planet.zz/index.html on rida www.planet.zz)<br />
Apache konfis peab olema ServerName www.planet.zz ja sites-enabled all sait www.planet.zz<br />
<br />
5.4 Lisa kliendi arvutisse bind9 nimeserver (normaalselt tööjaama seda ei tehta, kuid antud näitel on meil vaid üks konfigureeritav host). Seadista enda valitud domeeniminega tsoon koos revers tsooniga. Lisa kirjed www.sinudomeen.zz, mail.sinudomeen.zz, puppet.sinudomeen.zz koos PTR kirjetega.<br />
<br />
<br />
<br />
<br />
[[Puppet Examples]]<br />
<br />
==Keskne logiserver==<br />
Labor 2 üheks võimalikuks teemaks on keskse logihalduse lahenduse loomine<br />
<br />
[[Keskse logilahenduse rakendamine]]<br />
<br />
[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/Arnus%20-%20keskne%20logilahendus.pdf Lõputöö logihalduse teemal]<br />
<br />
<br />
http://rdstash.blogspot.com/2013/01/installing-logstash-as-syslog-server-on.html<br />
<br />
=Esseede teemad 2012=<br />
<br />
Võib valida keerulisemaid teemasid ka [[Osadmin referaadi teemad]] lehelt.<br />
<br />
[[zsh]] - pole algajale<br />
<br />
Mida uurida <br />
<br />
Prompt<br />
<br />
http://zshwiki.org/home/config/prompt<br />
<br />
http://stevelosh.com/blog/2010/02/my-extravagant-zsh-prompt/<br />
<br />
.zshrc<br />
<br />
for <br />
<br />
if <br />
<br />
while <br />
<br />
jne<br />
<br />
<br />
[[exFAT vs Linux]] - Kalju Hõbemäe<br />
<br />
<br />
[[CentOS Server]] --- teeb Oliver Naaris<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba, e-post seadistamine<br />
<br />
<br />
[[Superb Mini Server]] --- Mark-Erik Mogom, Andrus Dei <br />
<br />
Paigaldamine<br />
<br />
DNS, samba, LDAP, e-post seadistamine<br />
<br />
<br />
[[Oracle Linux]]<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba, e-post seadistamine<br />
<br />
<br />
[[Suse Linux]]<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba seadistamine<br />
<br />
[[OpenLDAP Ubuntu Serveril]] - Tarmo Suurmägi, Taavi Sannik, Harri Uljas<br />
<br />
[[Zentyal SAMBA4]] --- Lang & Lihten A31<br />
<br />
Samba4 domeenikontrolleri seadistamine ja ubuntu/fedora/muu süsteem autentimise seadistamine kasutades uusi vahendeid<br />
<br />
[[Apt-yum/dpkg-rpm käskude lühivõrdlus]] - Teet Saar A32<br />
<br />
[[Ophcrack]] - teeb Kristo Kapten<br />
<br />
[[rancid]] - Meelis Kurnikov, Aive Haavel AK31<br />
<br />
[[zenoss]] - Kristjan Vaik<br />
<br />
[[Apache autentimine LDAP'iga]] - Rauno Lehiste<br />
=Esseede teemad 2013=<br />
<br />
[[PHORONIX TEST SUITE]]<br />
<br />
[[Linux failisüsteemi jõudluse mõõtmine]]<br />
<br />
[[passenger]]<br />
<br />
[[NFTables]]<br />
<br />
[[Ipcop]] - saab kaasajastada<br />
<br />
[[suricata]] http://www.openinfosecfoundation.org/index.php/download-suricata - Martin Leppik 12.12.2013<br />
<br />
[[snort]] http://www.snort.org/ - võib kaasajastada<br />
<br />
[[Owncloud]] - Tõnu Erm AK31<br />
<br />
[[Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine) protokoll]] - Sten Aus 28.11.2013<br />
<br />
[[Keskse logilahenduse rakendamine Rsyslog näitel]] - Kimmo Lillipuu, Kaarel Kuurmann, Heigo Punapart 18.12.2013<br />
<br />
[[Kliendi seadistamine keskse logi logihalduse tarvis pupeti abil ]] - Indrek Mitt, Priidu Niit 19.12.2013<br />
<br />
[[Nagios 3.5]] - Piia Ploovits, Sandra Sirel, Kristian Kivimägi, Grete Maisla 19.12.2013<br />
<br />
[[MySecureShell - SecureFTP]] - Kalle Kadakas 20.12.2013<br />
<br />
[[Keskne logiserver]] - Tauri Jaanus 25.12.2013<br />
<br />
=Eksamist=<br />
<br />
Tee ära labor 2 (oma valitud teemal + selle kohta wiki kirjatöö)<br />
Eksamil ole valmis demoma labor 1 raames kaitstud asju.<br />
<br />
Kirjatööd sisu tuleb eksamil kaitsta vestluse vormis.<br />
<br />
Eksami käigus saab kaitsta ka labor 1 ja 2 asju.<br />
<br />
Eksami käigus tõmbad loosi, mida labor 1 raames parandada. Õppejõud teeb teenuse katki ja tudeng teeb korda. (soovitatav on eelnevalt teha teenusest varukoopia).<br />
<br />
Punkte saab selgituse eest, mis oli katki ja kuidas tegid korda.<br />
<br />
Katki tegemisel võib arvestada näiteks, et algaja admin (õppejõud:) muutis ära parooli, rikkus võrguseaded ja kustutas täiesti süüdimatult mõne konfifaili.<br />
<br />
=Laborimaterjalid 2012=<br />
<br />
Teha apt - yum ja dpkg - rpm vastavustabel. dpkg ja apt korraldused leiab [http://elab.itcollege.ee:8000/Linux-Basics.mm Linux-Basics mindmapist]<br />
<br />
Parim töö annab 7p, järgmised 5p (piisavalt põhjalikud ja erinevad)<br />
<br />
Ebapiisavad vastavustabelid, mis sarnanevad üksteisele punkte ei saa.<br />
<br />
Kui su tabel on ilma vigadeta, kuid mitte parimate sead siis saad 1-2p.<br />
<br />
<br />
'''Praks 4'''<br />
<br />
Nimeserveri BIND9 paigaldamine.<br />
<br />
*Mõtle välja domeenimini<br />
*Paigalda nimeserver bind9<br />
*Seadista oma domeen<br />
**www.domeen<br />
**ns.domeen<br />
**sales.domeen<br />
**seadista oma kliendimasin kasutama uut nimeserverit<br />
<br />
NB: enne kaitsmist lugeda läbi http://kuutorvaja.eenet.ee/wiki/DNS<br />
<br />
Labori üks näide [[Nimeserveri seadistamine BIND9 näitel]]<br />
<br />
Praktikumi salvestus http://echo360.e-uni.ee/ess/echo/presentation/a828b6af-8caf-4319-b594-5d6bfed04a70<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' peab töötama nii nimede lahendamine läbi teie nimeserveri kui ka reverse lookup.<br />
<br />
<br />
'''Praks 5'''<br />
<br />
Veebiserveri apache2 paigaldamine<br />
<br />
*Loo veebisaidid www.domeen ja sales.domeen (ehk oma DNS labori nimedele vastavad veebisaidid)<br />
Praktikumi salvestus: http://echo360.e-uni.ee/ess/echo/presentation/0945a764-0305-48ec-8082-4e57a23cc536<br />
*Seadist HTTPS nendele saitidele (vajadusel loo uus ip alias ja muuda nimeserveris olevat kirjet, et TLS nimed viitaks erinevatele IP aadressidele)<br />
*Abiks on loeng: http://enos.itcollege.ee/~mernits/infrastruktuur/loeng04%20-%20Veebiserver.odp ja labor: https://wiki.itcollege.ee/index.php/Veebiserveri_labor_v.2<br />
*Paigalda WordPress vastavalt juhendile: http://goo.gl/6XQ0U<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' peab töötama veebiserververi apache2 pealt 2 veebilehte ning wordpress. Wordpressile peab olema paigaldatud super cache ning lisaks peab töötama varnish. Seejuures wordpress on seadistatud pordile 80 ja wordpress pordil 8080. Lehe toimivust testige enne kaitsmist ab vahendiga, kus -n 1000 ja -t 10.<br />
<br />
<br />
'''Praks 7'''<br />
Samba share-i välja jagamine. <br />
<br />
*Loo share, mis on ligipääsetav vaid kasutajatele, kes kuuluvad lab gruppi. Vajalik on ka share-ile kirjutamisõigus (saab kausta luua). <br />
* Seadista samba abil kasutajate kodukaustadele ligipääsemine. Iga kasutaja peab ligi pääsema enda kodukaustale. <br />
<br />
*Abiks on viki artiklid : https://wiki.itcollege.ee/index.php/Failiserver_Samba_labor_2 ja https://wiki.itcollege.ee/index.php/Lihtne_samba_install<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' on vajalik share-i olemasolu, mis on ligipääsetav ning kirjutatav (võimalik luua kataloogi) ainult lab gruppi kuuluvatele kasutajatele ning lab gruppi mitte kuuluvad kasutajad ei tohi sinna ligi pääseda. <br />
Lisaks peavad kasutajad pääsema ligi oma kodukaustale, sõltumata sellest, kas ta kuulub lab gruppi või mitte.<br />
<br />
<br />
'''Labor 1'''<br />
*Veebiserver ja virtualhostid<br />
*DNS<br />
*e-post<br />
*iptables<br />
*samba<br />
<br />
<br />
'''Labor 2'''<br />
*LDAP või Samba4 - LDAP Teet Saar, Kullo-Kalev Aru<br />
*Puppet või chef<br />
*PAM<br />
*Puppet (Ubuntus) - Kristo Kapten<br />
*[[Samba(windows domeenis fileserver)]] - Marko Kurs<br />
*[[TLS termineerimine nginx abil]] - Sander Arnus, Sander Saveli</div>Imitthttps://wiki.itcollege.ee/index.php?title=Logstash%27i_paigaldmine_kliendi_konfiguratsiooni_paigladmine_kliendi_arvutisse_puppeti_abil&diff=71129Logstash'i paigaldmine kliendi konfiguratsiooni paigladmine kliendi arvutisse puppeti abil2013-12-27T11:51:01Z<p>Imitt: Created page with " Pupetmasteri konfiguratsioon: Puppet masteris tuleb lisada järgnev moodul: Tule loo eraldi node site.pp failis. Näide nano /etc/puppet/manifests/site.pp import "class…"</p>
<hr />
<div><br />
Pupetmasteri konfiguratsioon:<br />
<br />
Puppet masteris tuleb lisada järgnev moodul:<br />
<br />
Tule<br />
<br />
loo eraldi node site.pp failis.<br />
<br />
Näide <br />
nano /etc/puppet/manifests/site.pp<br />
<br />
import "classes/*"<br />
node 'basenode' {<br />
include rsyslog<br />
include kirje<br />
<br />
}<br />
<br />
<br />
nano /etc/puppet/manifests/classes/rsyslog.pp<br />
<br />
class tarkvara {<br />
package { 'rsyslog': ensure => latest }<br />
<br />
}<br />
<br />
<br />
SEE on nüüd kirje.pp<br />
<br />
<br />
class kirje {<br />
<br />
file_line { 'kirje':<br />
ensure => present,<br />
line => "*.* @@192.168.56.210:10514 ",<br />
path => '/etc/rsyslog.conf',<br />
}<br />
<br />
<br />
<br />
}</div>Imitthttps://wiki.itcollege.ee/index.php?title=Linuxi_administreerimine&diff=71124Linuxi administreerimine2013-12-27T11:21:52Z<p>Imitt: /* Esseede teemad 2013 */</p>
<hr />
<div>=Üldinfo=<br />
ECTS: 4<br />
Hindamisviis: Eksam<br />
<br />
==Õppejõud==<br />
Margus Ernits<br />
<br />
Katrin Loodus<br />
<br />
=Eeldused ja sihtgrupp=<br />
<br />
Operatsioonisüsteemide administreerimine ja sidumine (Rangelt soovituslik). Osadmin aines loetava oskamine on antud aine õppimise eelduseks. ÕISis on see eeldus märgitud soovituslikuks, kuna igal aastal on paar inimest, kes suudavad mõlemad ained korraga läbida ja on antud vallas väga pädevad.<br />
Linuxi administraatori kursus on mõeldud tugeva infotehnoloogilise põhjaga arvuti-spetsialistile.<br />
Kursuse rõhk on eelkõige võrguhalduril, kelle tööülesannete hulka kuulub igapäevane serverite, võrgu jms hooldus, konfigureerimine ja uute seadmete installatsioon.<br />
<br />
=Eesmärk ja sisu=<br />
<br />
Kursuse esimeses osas õpitakse tundma Linux süsteemi toimimist, antakse ülevaade administreerimistoimingute automatiseerimisest shelli skriptide abil ja omandatakse praktiline käsufailide koostamise kogemus.<br />
<br />
Teises osas õpitakse paigaldama ja konfigureerima erinevaid võrguteenuseid. Kursuse teise osa alguses korratakse taseme ühtlustamiseks TCP/IP võrgu põhialuseid.<br />
<br />
=Õpiväljundid=<br />
<br />
<br />
=Loengud=<br />
<br />
Kaugõppe loengute ja praktikumide videosalvestused:<br />
http://echo360.e-ope.ee/ess/portal/section/4bd0abde-1b0d-4c92-a35e-0f99a81f069d<br />
<br />
<br />
1. Sissejuhatav loeng eeldustest [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng01%20-%20Sissejuhatus%20ainesse%20Linux%20administreerimine%20-%202013%20.pdf Sissejuhatus Loeng 1]<br />
<br />
1.1. Kordamine Osadmin [http://elab.itcollege.ee:8000/Linux-Basics.mm]<br />
<br />
2. Linux süsteemi põhilised komponendid [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng02%20-%20Linux%20s%c3%bcsteemide%20haldamine%20-%202013%20.pdf Linux haldamine Loeng 2]<br />
<br />
3. Linux süsteemi haldamine puppet abil I [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng03%20-%20Linux%20s%c3%bcsteemide%20haldamine%20-%202013%20.pdf Linux haldamine Loeng 3]<br />
<br />
4. Linux süsteemi haldamine puppet abil II [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%c3%bcsteemide%20haldamine%20II%20-%202013%20.pdf Linux haldamine Loeng 4]<br />
<br />
5. Linux süsteemi haldamine puppet abil III [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng05%20-%20Linux%20s%c3%bcsteemide%20haldamine%20III%20-%202013%20.pdf Linux haldamine Loeng 5]<br />
<br />
5.1 Puppeti seadistamine passenger mooduli abil [[Puppet - passenger]]<br />
<br />
Puppeti teise loengu video: http://elab.itcollege.ee:8000/linux-admin/pupppet-algus.ogv<br />
<br />
=Praktikumid=<br />
<br />
==Esimene praktikum - Ubuntu Serveri ja kliendi paigaldamine ning kordamine==<br />
* Paigaldage '''Ubuntu Linux Server''' süsteem VirtualBox abil<br />
**RAM 512MB<br />
**HDD dynamicly allocated 8GB<br />
**2 Võrgukaarti NIC1 - NAT (eth0 - Ubuntus) ja NIC2 - HostOnly (eth1 - Ubuntus)<br />
**Logige serverisse sisse ja seadistage võrk failis /etc/network/interfaces (liidese eth1 ip aadress 192.168.56.200). <br />
***Abiinfo [[Ubuntu server võrgu seadistamine]] ja [[VirtualBoxi võrgud]]<br />
<br />
<source lang="bash"><br />
auto eth1<br />
iface eth1 inet static<br />
address 192.168.56.200<br />
netmask 255.255.255.0<br />
</source><br />
<br />
*Paigaldage openssh server, kui te seda installi käigus ei teinud (apt-get update && apt-get install ssh)<br />
<br />
Ubuntu Server 12.04.1 LTS ISO (64bit) http://elab.itcollege.ee:8000/ubuntu-12.04.1-server-amd64.iso<br />
<br />
Eelduste kontrollimise test harjutamiseks: http://goo.gl/73xBZ<br />
Kes tunneb, et test on '''liiga keeruline''', peab '''kaaluma''' aine deklareerimise asemel '''Osadmin aine (mis on soovituslik eeldus) läbimist'''.<br />
<br />
* '''Ubuntu Desktop Linux''' paigaldamine (Võib paigaldada ka mõne muu disrtibutsiooni desktop masina, kuna seda läheb meil niikuinii hiljem vaja)<br />
**Memory 1024MB<br />
**HDD 16GB (või 8GB) Dynamic disk<br />
**Network<br />
**Video Memory 64MB 3D acceleration sisse<br />
<br />
'''NB! Kasutamiseks valmis masinad: [http://elab.itcollege.ee:8000/ubuntu-server-64.ova server 64bit] ja [http://elab.itcollege.ee:8000/ubuntu-desktop-64.ova klient 64bit], [http://elab.itcollege.ee:8000/UbuntuServer32bit.ova server 32bit] ja [http://elab.itcollege.ee:8000/UbuntuDesktop32bit.ova klient 32bit]''' <br />
<br />
Pärast paigaldamist seadistada [https://wiki.itcollege.ee/index.php/OpenSSH:_v%C3%B5tmetega_autentimine key based autentimisega] serverisse sisenemine. (tööjaamast saab serveris käske käivitada)<br />
<br />
==Teine ja kolmas praktikum - Eeldustetest ja kordamine==<br />
<br />
Kordamiseks leiate vajalikku infot [https://wiki.itcollege.ee/index.php/Category:Operatsioonis%C3%BCsteemide_administreerimine_ja_sidumine Operatsioonisüsteemide administreerimise ja sidumise] aine vikist. <br />
<br />
[http://goo.gl/AFGfoV Eeldustetest 1]<br />
<br />
[http://goo.gl/F0PiWK Eeldustetest 2]<br />
<br />
<br />
==Linux keskhaldus puppet baasil==<br />
<br />
Praktikumis paigaldame puppet serveri (master) ja kliendi.<br />
<br />
Näiteülesanded kaitsmiseks<br />
<br />
1. Loo puppet abil fail /etc/issue sisuga KALA<br />
<br />
2. Loo puppet abil kasutaja polekala, kodukaustaga /home/polekala, shelliga /bin/zsh ( tee ka paki zsh paigaldus)<br />
<br />
3. Lisa nodele class tarkvara, mis paigaldab htop, bpython pakid<br />
<br />
4. Loo nodele class eemalda, mis eemaldab paki cowsay<br />
<br />
<br />
<br />
5. Viimane ülesanne on igal ühel erinev.<br />
<br />
5.1 Loo serverisse kasutaja kala ja tee talle ssh key. Seadista kliendiarvuti selliselt, et paigaldataks pakk ssh ja lisataks root kasutajale kliendis loodud ssh public key.<br />
<br />
5.2 Paigalda kliendi arvutisse ntp server ja määra ntp serveriteks ntp.eenet.ee ja ntp.ut.ee<br />
<br />
5.3 Lisa kliendi arvutisse apache2 veebiserver koos virtualhostiga www.planet.zz, (failis /var/www/www.planet.zz/index.html on rida www.planet.zz)<br />
Apache konfis peab olema ServerName www.planet.zz ja sites-enabled all sait www.planet.zz<br />
<br />
5.4 Lisa kliendi arvutisse bind9 nimeserver (normaalselt tööjaama seda ei tehta, kuid antud näitel on meil vaid üks konfigureeritav host). Seadista enda valitud domeeniminega tsoon koos revers tsooniga. Lisa kirjed www.sinudomeen.zz, mail.sinudomeen.zz, puppet.sinudomeen.zz koos PTR kirjetega.<br />
<br />
<br />
<br />
<br />
[[Puppet Examples]]<br />
<br />
==Keskne logiserver==<br />
Labor 2 üheks võimalikuks teemaks on keskse logihalduse lahenduse loomine<br />
<br />
[[Keskse logilahenduse rakendamine]]<br />
<br />
[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/Arnus%20-%20keskne%20logilahendus.pdf Lõputöö logihalduse teemal]<br />
<br />
<br />
http://rdstash.blogspot.com/2013/01/installing-logstash-as-syslog-server-on.html<br />
<br />
=Esseede teemad 2012=<br />
<br />
Võib valida keerulisemaid teemasid ka [[Osadmin referaadi teemad]] lehelt.<br />
<br />
[[zsh]] - pole algajale<br />
<br />
Mida uurida <br />
<br />
Prompt<br />
<br />
http://zshwiki.org/home/config/prompt<br />
<br />
http://stevelosh.com/blog/2010/02/my-extravagant-zsh-prompt/<br />
<br />
.zshrc<br />
<br />
for <br />
<br />
if <br />
<br />
while <br />
<br />
jne<br />
<br />
<br />
[[exFAT vs Linux]] - Kalju Hõbemäe<br />
<br />
<br />
[[CentOS Server]] --- teeb Oliver Naaris<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba, e-post seadistamine<br />
<br />
<br />
[[Superb Mini Server]] --- Mark-Erik Mogom, Andrus Dei <br />
<br />
Paigaldamine<br />
<br />
DNS, samba, LDAP, e-post seadistamine<br />
<br />
<br />
[[Oracle Linux]]<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba, e-post seadistamine<br />
<br />
<br />
[[Suse Linux]]<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba seadistamine<br />
<br />
[[OpenLDAP Ubuntu Serveril]] - Tarmo Suurmägi, Taavi Sannik, Harri Uljas<br />
<br />
[[Zentyal SAMBA4]] --- Lang & Lihten A31<br />
<br />
Samba4 domeenikontrolleri seadistamine ja ubuntu/fedora/muu süsteem autentimise seadistamine kasutades uusi vahendeid<br />
<br />
[[Apt-yum/dpkg-rpm käskude lühivõrdlus]] - Teet Saar A32<br />
<br />
[[Ophcrack]] - teeb Kristo Kapten<br />
<br />
[[rancid]] - Meelis Kurnikov, Aive Haavel AK31<br />
<br />
[[zenoss]] - Kristjan Vaik<br />
<br />
[[Apache autentimine LDAP'iga]] - Rauno Lehiste<br />
=Esseede teemad 2013=<br />
<br />
[[PHORONIX TEST SUITE]]<br />
<br />
[[Linux failisüsteemi jõudluse mõõtmine]]<br />
<br />
[[passenger]]<br />
<br />
[[NFTables]]<br />
<br />
[[Ipcop]] - saab kaasajastada<br />
<br />
[[suricata]] http://www.openinfosecfoundation.org/index.php/download-suricata - Martin Leppik 12.12.2013<br />
<br />
[[snort]] http://www.snort.org/ - võib kaasajastada<br />
<br />
[[Owncloud]] - Tõnu Erm AK31<br />
<br />
[[Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine) protokoll]] - Sten Aus 28.11.2013<br />
<br />
[[Keskse logilahenduse rakendamine Rsyslog näitel]] - Kimmo Lillipuu, Kaarel Kuurmann, Heigo Punapart 18.12.2013<br />
<br />
[[Logstash'i paigaldmine kliendi konfiguratsiooni paigladmine kliendi arvutisse puppeti abil ]] - Indrek Mitt, Priidu Niit 19.12.2013<br />
<br />
[[Nagios 3.5]] - Piia Ploovits, Sandra Sirel, Kristian Kivimägi, Grete Maisla 19.12.2013<br />
<br />
[[MySecureShell - SecureFTP]] - Kalle Kadakas 20.12.2013<br />
<br />
[[Keskne logiserver]] - Tauri Jaanus 25.12.2013<br />
<br />
=Eksamist=<br />
<br />
Tee ära labor 2 (oma valitud teemal + selle kohta wiki kirjatöö)<br />
Eksamil ole valmis demoma labor 1 raames kaitstud asju.<br />
<br />
Kirjatööd sisu tuleb eksamil kaitsta vestluse vormis.<br />
<br />
Eksami käigus saab kaitsta ka labor 1 ja 2 asju.<br />
<br />
Eksami käigus tõmbad loosi, mida labor 1 raames parandada. Õppejõud teeb teenuse katki ja tudeng teeb korda. (soovitatav on eelnevalt teha teenusest varukoopia).<br />
<br />
Punkte saab selgituse eest, mis oli katki ja kuidas tegid korda.<br />
<br />
Katki tegemisel võib arvestada näiteks, et algaja admin (õppejõud:) muutis ära parooli, rikkus võrguseaded ja kustutas täiesti süüdimatult mõne konfifaili.<br />
<br />
=Laborimaterjalid 2012=<br />
<br />
Teha apt - yum ja dpkg - rpm vastavustabel. dpkg ja apt korraldused leiab [http://elab.itcollege.ee:8000/Linux-Basics.mm Linux-Basics mindmapist]<br />
<br />
Parim töö annab 7p, järgmised 5p (piisavalt põhjalikud ja erinevad)<br />
<br />
Ebapiisavad vastavustabelid, mis sarnanevad üksteisele punkte ei saa.<br />
<br />
Kui su tabel on ilma vigadeta, kuid mitte parimate sead siis saad 1-2p.<br />
<br />
<br />
'''Praks 4'''<br />
<br />
Nimeserveri BIND9 paigaldamine.<br />
<br />
*Mõtle välja domeenimini<br />
*Paigalda nimeserver bind9<br />
*Seadista oma domeen<br />
**www.domeen<br />
**ns.domeen<br />
**sales.domeen<br />
**seadista oma kliendimasin kasutama uut nimeserverit<br />
<br />
NB: enne kaitsmist lugeda läbi http://kuutorvaja.eenet.ee/wiki/DNS<br />
<br />
Labori üks näide [[Nimeserveri seadistamine BIND9 näitel]]<br />
<br />
Praktikumi salvestus http://echo360.e-uni.ee/ess/echo/presentation/a828b6af-8caf-4319-b594-5d6bfed04a70<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' peab töötama nii nimede lahendamine läbi teie nimeserveri kui ka reverse lookup.<br />
<br />
<br />
'''Praks 5'''<br />
<br />
Veebiserveri apache2 paigaldamine<br />
<br />
*Loo veebisaidid www.domeen ja sales.domeen (ehk oma DNS labori nimedele vastavad veebisaidid)<br />
Praktikumi salvestus: http://echo360.e-uni.ee/ess/echo/presentation/0945a764-0305-48ec-8082-4e57a23cc536<br />
*Seadist HTTPS nendele saitidele (vajadusel loo uus ip alias ja muuda nimeserveris olevat kirjet, et TLS nimed viitaks erinevatele IP aadressidele)<br />
*Abiks on loeng: http://enos.itcollege.ee/~mernits/infrastruktuur/loeng04%20-%20Veebiserver.odp ja labor: https://wiki.itcollege.ee/index.php/Veebiserveri_labor_v.2<br />
*Paigalda WordPress vastavalt juhendile: http://goo.gl/6XQ0U<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' peab töötama veebiserververi apache2 pealt 2 veebilehte ning wordpress. Wordpressile peab olema paigaldatud super cache ning lisaks peab töötama varnish. Seejuures wordpress on seadistatud pordile 80 ja wordpress pordil 8080. Lehe toimivust testige enne kaitsmist ab vahendiga, kus -n 1000 ja -t 10.<br />
<br />
<br />
'''Praks 7'''<br />
Samba share-i välja jagamine. <br />
<br />
*Loo share, mis on ligipääsetav vaid kasutajatele, kes kuuluvad lab gruppi. Vajalik on ka share-ile kirjutamisõigus (saab kausta luua). <br />
* Seadista samba abil kasutajate kodukaustadele ligipääsemine. Iga kasutaja peab ligi pääsema enda kodukaustale. <br />
<br />
*Abiks on viki artiklid : https://wiki.itcollege.ee/index.php/Failiserver_Samba_labor_2 ja https://wiki.itcollege.ee/index.php/Lihtne_samba_install<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' on vajalik share-i olemasolu, mis on ligipääsetav ning kirjutatav (võimalik luua kataloogi) ainult lab gruppi kuuluvatele kasutajatele ning lab gruppi mitte kuuluvad kasutajad ei tohi sinna ligi pääseda. <br />
Lisaks peavad kasutajad pääsema ligi oma kodukaustale, sõltumata sellest, kas ta kuulub lab gruppi või mitte.<br />
<br />
<br />
'''Labor 1'''<br />
*Veebiserver ja virtualhostid<br />
*DNS<br />
*e-post<br />
*iptables<br />
*samba<br />
<br />
<br />
'''Labor 2'''<br />
*LDAP või Samba4 - LDAP Teet Saar, Kullo-Kalev Aru<br />
*Puppet või chef<br />
*PAM<br />
*Puppet (Ubuntus) - Kristo Kapten<br />
*[[Samba(windows domeenis fileserver)]] - Marko Kurs<br />
*[[TLS termineerimine nginx abil]] - Sander Arnus, Sander Saveli</div>Imitthttps://wiki.itcollege.ee/index.php?title=Linuxi_administreerimine&diff=70569Linuxi administreerimine2013-12-19T10:30:32Z<p>Imitt: /* Esseede teemad 2013 */</p>
<hr />
<div>=Üldinfo=<br />
ECTS: 4<br />
Hindamisviis: Eksam<br />
<br />
==Õppejõud==<br />
Margus Ernits<br />
<br />
Katrin Loodus<br />
<br />
=Eeldused ja sihtgrupp=<br />
<br />
Operatsioonisüsteemide administreerimine ja sidumine (Rangelt soovituslik). Osadmin aines loetava oskamine on antud aine õppimise eelduseks. ÕISis on see eeldus märgitud soovituslikuks, kuna igal aastal on paar inimest, kes suudavad mõlemad ained korraga läbida ja on antud vallas väga pädevad.<br />
Linuxi administraatori kursus on mõeldud tugeva infotehnoloogilise põhjaga arvuti-spetsialistile.<br />
Kursuse rõhk on eelkõige võrguhalduril, kelle tööülesannete hulka kuulub igapäevane serverite, võrgu jms hooldus, konfigureerimine ja uute seadmete installatsioon.<br />
<br />
=Eesmärk ja sisu=<br />
<br />
Kursuse esimeses osas õpitakse tundma Linux süsteemi toimimist, antakse ülevaade administreerimistoimingute automatiseerimisest shelli skriptide abil ja omandatakse praktiline käsufailide koostamise kogemus.<br />
<br />
Teises osas õpitakse paigaldama ja konfigureerima erinevaid võrguteenuseid. Kursuse teise osa alguses korratakse taseme ühtlustamiseks TCP/IP võrgu põhialuseid.<br />
<br />
=Õpiväljundid=<br />
<br />
<br />
=Loengud=<br />
<br />
Kaugõppe loengute ja praktikumide videosalvestused:<br />
http://echo360.e-ope.ee/ess/portal/section/4bd0abde-1b0d-4c92-a35e-0f99a81f069d<br />
<br />
<br />
1. Sissejuhatav loeng eeldustest [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng01%20-%20Sissejuhatus%20ainesse%20Linux%20administreerimine%20-%202013%20.pdf Sissejuhatus Loeng 1]<br />
<br />
1.1. Kordamine Osadmin [http://elab.itcollege.ee:8000/Linux-Basics.mm]<br />
<br />
2. Linux süsteemi põhilised komponendid [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng02%20-%20Linux%20s%c3%bcsteemide%20haldamine%20-%202013%20.pdf Linux haldamine Loeng 2]<br />
<br />
3. Linux süsteemi haldamine puppet abil I [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng03%20-%20Linux%20s%c3%bcsteemide%20haldamine%20-%202013%20.pdf Linux haldamine Loeng 3]<br />
<br />
4. Linux süsteemi haldamine puppet abil II [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng04%20-%20Linux%20s%c3%bcsteemide%20haldamine%20II%20-%202013%20.pdf Linux haldamine Loeng 4]<br />
<br />
5. Linux süsteemi haldamine puppet abil III [http://enos.itcollege.ee/~mernits/Linux%20administreerimine/loeng05%20-%20Linux%20s%c3%bcsteemide%20haldamine%20III%20-%202013%20.pdf Linux haldamine Loeng 5]<br />
<br />
5.1 Puppeti seadistamine passenger mooduli abil [[Puppet - passenger]]<br />
<br />
Puppeti teise loengu video: http://elab.itcollege.ee:8000/linux-admin/pupppet-algus.ogv<br />
<br />
=Praktikumid=<br />
<br />
==Esimene praktikum - Ubuntu Serveri ja kliendi paigaldamine ning kordamine==<br />
* Paigaldage '''Ubuntu Linux Server''' süsteem VirtualBox abil<br />
**RAM 512MB<br />
**HDD dynamicly allocated 8GB<br />
**2 Võrgukaarti NIC1 - NAT (eth0 - Ubuntus) ja NIC2 - HostOnly (eth1 - Ubuntus)<br />
**Logige serverisse sisse ja seadistage võrk failis /etc/network/interfaces (liidese eth1 ip aadress 192.168.56.200). <br />
***Abiinfo [[Ubuntu server võrgu seadistamine]] ja [[VirtualBoxi võrgud]]<br />
<br />
<source lang="bash"><br />
auto eth1<br />
iface eth1 inet static<br />
address 192.168.56.200<br />
netmask 255.255.255.0<br />
</source><br />
<br />
*Paigaldage openssh server, kui te seda installi käigus ei teinud (apt-get update && apt-get install ssh)<br />
<br />
Ubuntu Server 12.04.1 LTS ISO (64bit) http://elab.itcollege.ee:8000/ubuntu-12.04.1-server-amd64.iso<br />
<br />
Eelduste kontrollimise test harjutamiseks: http://goo.gl/73xBZ<br />
Kes tunneb, et test on '''liiga keeruline''', peab '''kaaluma''' aine deklareerimise asemel '''Osadmin aine (mis on soovituslik eeldus) läbimist'''.<br />
<br />
* '''Ubuntu Desktop Linux''' paigaldamine (Võib paigaldada ka mõne muu disrtibutsiooni desktop masina, kuna seda läheb meil niikuinii hiljem vaja)<br />
**Memory 1024MB<br />
**HDD 16GB (või 8GB) Dynamic disk<br />
**Network<br />
**Video Memory 64MB 3D acceleration sisse<br />
<br />
'''NB! Kasutamiseks valmis masinad: [http://elab.itcollege.ee:8000/ubuntu-server-64.ova server 64bit] ja [http://elab.itcollege.ee:8000/ubuntu-desktop-64.ova klient 64bit], [http://elab.itcollege.ee:8000/UbuntuServer32bit.ova server 32bit] ja [http://elab.itcollege.ee:8000/UbuntuDesktop32bit.ova klient 32bit]''' <br />
<br />
Pärast paigaldamist seadistada [https://wiki.itcollege.ee/index.php/OpenSSH:_v%C3%B5tmetega_autentimine key based autentimisega] serverisse sisenemine. (tööjaamast saab serveris käske käivitada)<br />
<br />
==Teine ja kolmas praktikum - Eeldustetest ja kordamine==<br />
<br />
Kordamiseks leiate vajalikku infot [https://wiki.itcollege.ee/index.php/Category:Operatsioonis%C3%BCsteemide_administreerimine_ja_sidumine Operatsioonisüsteemide administreerimise ja sidumise] aine vikist. <br />
<br />
[http://goo.gl/AFGfoV Eeldustetest 1]<br />
<br />
[http://goo.gl/F0PiWK Eeldustetest 2]<br />
<br />
<br />
==Linux keskhaldus puppet baasil==<br />
<br />
Praktikumis paigaldame puppet serveri (master) ja kliendi.<br />
<br />
Näiteülesanded kaitsmiseks<br />
<br />
1. Loo puppet abil fail /etc/issue sisuga KALA<br />
<br />
2. Loo puppet abil kasutaja polekala, kodukaustaga /home/polekala, shelliga /bin/zsh ( tee ka paki zsh paigaldus)<br />
<br />
3. Lisa nodele class tarkvara, mis paigaldab htop, bpython pakid<br />
<br />
4. Loo nodele class eemalda, mis eemaldab paki cowsay<br />
<br />
<br />
<br />
5. Viimane ülesanne on igal ühel erinev.<br />
<br />
5.1 Loo serverisse kasutaja kala ja tee talle ssh key. Seadista kliendiarvuti selliselt, et paigaldataks pakk ssh ja lisataks root kasutajale kliendis loodud ssh public key.<br />
<br />
5.2 Paigalda kliendi arvutisse ntp server ja määra ntp serveriteks ntp.eenet.ee ja ntp.ut.ee<br />
<br />
5.3 Lisa kliendi arvutisse apache2 veebiserver koos virtualhostiga www.planet.zz, (failis /var/www/www.planet.zz/index.html on rida www.planet.zz)<br />
Apache konfis peab olema ServerName www.planet.zz ja sites-enabled all sait www.planet.zz<br />
<br />
5.4 Lisa kliendi arvutisse bind9 nimeserver (normaalselt tööjaama seda ei tehta, kuid antud näitel on meil vaid üks konfigureeritav host). Seadista enda valitud domeeniminega tsoon koos revers tsooniga. Lisa kirjed www.sinudomeen.zz, mail.sinudomeen.zz, puppet.sinudomeen.zz koos PTR kirjetega.<br />
<br />
<br />
<br />
<br />
[[Puppet Examples]]<br />
<br />
==Keskne logiserver==<br />
Labor 2 üheks võimalikuks teemaks on keskse logihalduse lahenduse loomine<br />
<br />
[[Keskse logilahenduse rakendamine]]<br />
<br />
[http://enos.itcollege.ee/~mernits/Linux%20administreerimine/Arnus%20-%20keskne%20logilahendus.pdf Lõputöö logihalduse teemal]<br />
<br />
<br />
http://rdstash.blogspot.com/2013/01/installing-logstash-as-syslog-server-on.html<br />
<br />
=Esseede teemad 2012=<br />
<br />
Võib valida keerulisemaid teemasid ka [[Osadmin referaadi teemad]] lehelt.<br />
<br />
[[zsh]] - pole algajale<br />
<br />
Mida uurida <br />
<br />
Prompt<br />
<br />
http://zshwiki.org/home/config/prompt<br />
<br />
http://stevelosh.com/blog/2010/02/my-extravagant-zsh-prompt/<br />
<br />
.zshrc<br />
<br />
for <br />
<br />
if <br />
<br />
while <br />
<br />
jne<br />
<br />
<br />
[[exFAT vs Linux]] - Kalju Hõbemäe<br />
<br />
<br />
[[CentOS Server]] --- teeb Oliver Naaris<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba, e-post seadistamine<br />
<br />
<br />
[[Superb Mini Server]] --- Mark-Erik Mogom, Andrus Dei <br />
<br />
Paigaldamine<br />
<br />
DNS, samba, LDAP, e-post seadistamine<br />
<br />
<br />
[[Oracle Linux]]<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba, e-post seadistamine<br />
<br />
<br />
[[Suse Linux]]<br />
<br />
Paigaldamine<br />
<br />
Teenuste DNS, apache2, samba seadistamine<br />
<br />
[[OpenLDAP Ubuntu Serveril]] - Tarmo Suurmägi, Taavi Sannik, Harri Uljas<br />
<br />
[[Zentyal SAMBA4]] --- Lang & Lihten A31<br />
<br />
Samba4 domeenikontrolleri seadistamine ja ubuntu/fedora/muu süsteem autentimise seadistamine kasutades uusi vahendeid<br />
<br />
[[Apt-yum/dpkg-rpm käskude lühivõrdlus]] - Teet Saar A32<br />
<br />
[[Ophcrack]] - teeb Kristo Kapten<br />
<br />
[[rancid]] - Meelis Kurnikov, Aive Haavel AK31<br />
<br />
[[zenoss]] - Kristjan Vaik<br />
<br />
[[Apache autentimine LDAP'iga]] - Rauno Lehiste<br />
=Esseede teemad 2013=<br />
<br />
[[Ipcop]] - saab kaasajastada<br />
<br />
[[suricata]] http://www.openinfosecfoundation.org/index.php/download-suricata - Martin Leppik 12.12.2013<br />
<br />
[[snort]] http://www.snort.org/ - võib kaasajastada<br />
<br />
[[Owncloud]] - Tõnu Erm AK31<br />
<br />
[[Linuxi administreerimine - Labor 2 (keskse logihalduse rakendamine) protokoll]] - Sten Aus 28.11.2013<br />
<br />
[[Keskse logilahenduse rakendamine Rsyslog näitel]] - Kimmo Lillipuu, Kaarel Kuurmann, Heigo Punapart 18.12.2013<br />
<br />
[[Logstash'i paigaldmine puppeti abil ]] - Indrek Mitt, Priidu Niit 19.12.2013<br />
<br />
=Eksamist=<br />
<br />
Tee ära labor 2 (oma valitud teemal + selle kohta wiki kirjatöö)<br />
Eksamil ole valmis demoma labor 1 raames kaitstud asju.<br />
<br />
Kirjatööd sisu tuleb eksamil kaitsta vestluse vormis.<br />
<br />
Eksami käigus saab kaitsta ka labor 1 ja 2 asju.<br />
<br />
Eksami käigus tõmbad loosi, mida labor 1 raames parandada. Õppejõud teeb teenuse katki ja tudeng teeb korda. (soovitatav on eelnevalt teha teenusest varukoopia).<br />
<br />
Punkte saab selgituse eest, mis oli katki ja kuidas tegid korda.<br />
<br />
Katki tegemisel võib arvestada näiteks, et algaja admin (õppejõud:) muutis ära parooli, rikkus võrguseaded ja kustutas täiesti süüdimatult mõne konfifaili.<br />
<br />
=Laborimaterjalid 2012=<br />
<br />
Teha apt - yum ja dpkg - rpm vastavustabel. dpkg ja apt korraldused leiab [http://elab.itcollege.ee:8000/Linux-Basics.mm Linux-Basics mindmapist]<br />
<br />
Parim töö annab 7p, järgmised 5p (piisavalt põhjalikud ja erinevad)<br />
<br />
Ebapiisavad vastavustabelid, mis sarnanevad üksteisele punkte ei saa.<br />
<br />
Kui su tabel on ilma vigadeta, kuid mitte parimate sead siis saad 1-2p.<br />
<br />
<br />
'''Praks 4'''<br />
<br />
Nimeserveri BIND9 paigaldamine.<br />
<br />
*Mõtle välja domeenimini<br />
*Paigalda nimeserver bind9<br />
*Seadista oma domeen<br />
**www.domeen<br />
**ns.domeen<br />
**sales.domeen<br />
**seadista oma kliendimasin kasutama uut nimeserverit<br />
<br />
NB: enne kaitsmist lugeda läbi http://kuutorvaja.eenet.ee/wiki/DNS<br />
<br />
Labori üks näide [[Nimeserveri seadistamine BIND9 näitel]]<br />
<br />
Praktikumi salvestus http://echo360.e-uni.ee/ess/echo/presentation/a828b6af-8caf-4319-b594-5d6bfed04a70<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' peab töötama nii nimede lahendamine läbi teie nimeserveri kui ka reverse lookup.<br />
<br />
<br />
'''Praks 5'''<br />
<br />
Veebiserveri apache2 paigaldamine<br />
<br />
*Loo veebisaidid www.domeen ja sales.domeen (ehk oma DNS labori nimedele vastavad veebisaidid)<br />
Praktikumi salvestus: http://echo360.e-uni.ee/ess/echo/presentation/0945a764-0305-48ec-8082-4e57a23cc536<br />
*Seadist HTTPS nendele saitidele (vajadusel loo uus ip alias ja muuda nimeserveris olevat kirjet, et TLS nimed viitaks erinevatele IP aadressidele)<br />
*Abiks on loeng: http://enos.itcollege.ee/~mernits/infrastruktuur/loeng04%20-%20Veebiserver.odp ja labor: https://wiki.itcollege.ee/index.php/Veebiserveri_labor_v.2<br />
*Paigalda WordPress vastavalt juhendile: http://goo.gl/6XQ0U<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' peab töötama veebiserververi apache2 pealt 2 veebilehte ning wordpress. Wordpressile peab olema paigaldatud super cache ning lisaks peab töötama varnish. Seejuures wordpress on seadistatud pordile 80 ja wordpress pordil 8080. Lehe toimivust testige enne kaitsmist ab vahendiga, kus -n 1000 ja -t 10.<br />
<br />
<br />
'''Praks 7'''<br />
Samba share-i välja jagamine. <br />
<br />
*Loo share, mis on ligipääsetav vaid kasutajatele, kes kuuluvad lab gruppi. Vajalik on ka share-ile kirjutamisõigus (saab kausta luua). <br />
* Seadista samba abil kasutajate kodukaustadele ligipääsemine. Iga kasutaja peab ligi pääsema enda kodukaustale. <br />
<br />
*Abiks on viki artiklid : https://wiki.itcollege.ee/index.php/Failiserver_Samba_labor_2 ja https://wiki.itcollege.ee/index.php/Lihtne_samba_install<br />
<br />
'''Punktide''' (5p) '''kirja saamiseks''' on vajalik share-i olemasolu, mis on ligipääsetav ning kirjutatav (võimalik luua kataloogi) ainult lab gruppi kuuluvatele kasutajatele ning lab gruppi mitte kuuluvad kasutajad ei tohi sinna ligi pääseda. <br />
Lisaks peavad kasutajad pääsema ligi oma kodukaustale, sõltumata sellest, kas ta kuulub lab gruppi või mitte.<br />
<br />
<br />
'''Labor 1'''<br />
*Veebiserver ja virtualhostid<br />
*DNS<br />
*e-post<br />
*iptables<br />
*samba<br />
<br />
<br />
'''Labor 2'''<br />
*LDAP või Samba4 - LDAP Teet Saar, Kullo-Kalev Aru<br />
*Puppet või chef<br />
*PAM<br />
*Puppet (Ubuntus) - Kristo Kapten<br />
*[[Samba(windows domeenis fileserver)]] - Marko Kurs<br />
*[[TLS termineerimine nginx abil]] - Sander Arnus, Sander Saveli</div>Imitthttps://wiki.itcollege.ee/index.php?title=ET&diff=62464ET2013-04-05T12:06:01Z<p>Imitt: /* Part two */</p>
<hr />
<div>Team page for [[ET]].<br />
<br />
===Members===<br />
* Indrek Mitt, IT College<br />
* Sander Saarm, IT College<br />
* Panagiota Chatzi, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
* Nikolaos Karadimitriou, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
<br />
<br />
===Goal===<br />
*Create an application for our client that is very effective and user friendly. <br />
*A familiar environment for students to upload their exercises.<br />
*In general, to augment E-Learning Environments and facilitate students' exercises evaluation by using our application.<br />
<br />
==Activity==<br />
===Monday - 25.03.13===<br />
Things that we did that day<br />
* Learned about documentation and data mining<br />
* Programmed sumo robots<br />
* Got to know our team at welcome dinner in St. Patrick's<br />
<br />
===Tuesday - 26.03.13===<br />
Things that we did that day<br />
* Talked about our case and made sure everybody is on the same page<br />
* Put together a list of questions for our client<br />
* Thought of different solutions for our project <br />
* Seperated tasks between team members<br />
<br />
Problems that we faced:<br />
* We didn't have enough information about our case<br />
* We wanted to use Moodle, but we didn't know if it's suitable for our project<br />
<br />
Things that we plan to do:<br />
* Ask our mentor if Moodle environment suitable for our project<br />
* Prepared to speak to our client Priit Raspel<br />
<br />
===Wednesday - 27.03.13===<br />
Things that we did that day<br />
* Spoke to our clent Priit Raspel.<br />
* Learned about Moodle and installed it.<br />
<br />
Problems that we faced:<br />
* We couldn't access installed Moodle on Sander's computer.<br />
* We needed a laptop with touchscreen.<br />
<br />
Questions and answers from client (consultation)<br />
* The client explained his visions on the project, that were quite similar to our vision. So we didn't have many questions.<br />
* Mostly we talked about the user interface on the teacher's side. We got to know his exact requirements.<br />
* We got telefon numbers of our client and our mentor for further questions.<br />
* We asked about Moodle and it's API from our mentor Mart Mangus.<br />
* We asked for client's touchscreen laptop for two weeks' testings and we got it.<br />
<br />
Things that what we plan to do:<br />
* Need to get a wireless router form Indrek Rokk for our own network to access installed Moodle.<br />
* Get to know Moodle's API.<br />
* Creating user interface.<br />
<br />
===Thursday - 28.03.13===<br />
Things that we did that day<br />
* Had lecture about Innovation<br />
* Studied Moodle documentation<br />
* Set up our Moodle test environment<br />
* Created test course and users<br />
* Checked if Moodle has needed options for our client's specific needs<br />
* Nikolaos is programming the UI<br />
Problems that we faced:<br />
* Had little problems setting up our workstation <br />
* Some network problems <br />
Things that we plan to do:<br />
* Work more on UI<br />
* Try if Moodle's options and API are enough to continue<br />
<br />
===Friday - 29.03.13===<br />
Things that we did that day<br />
* Read the documentation about API in Moodle.<br />
* We divided the parts of documentation for reading & we tried to familiarize with the Moodle's API.<br />
* We created and enrolled users in order to put some necessary and specific requirements that our client needs.<br />
* We logged in as admin, teacher, student to make the proper tests to see if our choices work properly.<br />
* We also created a user through our standalone application using Moodle's API and the service.<br />
* We had to test which protocol suits to our project's requirements because we wanted the right one for connecting with the GUI. The best for us is REST.<br />
<br />
Problems that we faced:<br />
* Couldn't login to Moodle with the standalone application (we fixed it).<br />
* A bug since v2.1 in Moodle doesn't record the shortname of the service that the user creates and makes it impossible for the user to log in (we fixed it).<br />
** In table external_services: "shortname" should be the same as "name". <br />
<br />
Things that we plan to do:<br />
* Work on the standalone application.<br />
* To get the standalone application to communicate with Moodle.<br />
* Find a way to get names of all students for this course and their files:<br />
** Get courses of teacher.<br />
** Get groups of course.<br />
** Get students of course.<br />
** Get student's assignments.<br />
** Get assignment files.<br />
* Find the functions to upload and download files.<br />
<br />
===Saturday - 30.03.13===<br />
Cultural Estonia's day<br />
<br />
===Monday - 01.04.13===<br />
Things that we did that day<br />
* Worked on standalone application (implemented the remove functions)<br />
* Worked on Moodle API's connection and functions.<br />
<br />
Problems that we faced:<br />
* BIG PROBLEM - Didn't have any success in implementing functions. <br />
<br />
Things that we plan to do:<br />
* Work on implementing functions to get standalone app communicating with Moodle.<br />
* Work on the standalone application.<br />
* Meet with client to specify his needs.<br />
<br />
===Tuesday - 02.04.13===<br />
Things that we did that day<br />
* Worked on Moodle API's connection and functions.<br />
* Augmenting teacher's application functionality<br />
<br />
Problems that we faced:<br />
* MoodleREST API connection with Moodle.<br />
<br />
Things that we plan to do:<br />
* Try to finalize the connection to Moodle.<br />
<br />
===Wednesday - 03.04.13===<br />
Things that we did that day<br />
* Further functionality in teacher's application and partial connection with MoodleREST API.<br />
* We completed the functions to retrieve data from Moodle through MoodleREST API<br />
* We worked hard till midnight<br />
<br />
Problems that we faced:<br />
* Time<br />
<br />
Things that we plan to do:<br />
* Integrating data retrieving functions in teacher's application<br />
<br />
===Thursday - 04.04.13===<br />
Things that we did that day<br />
* Prepared our presentation<br />
* Nikolaos prepared the demo on client's touchpad<br />
* Sander did some more Java code: getting teacher's students according to courses<br />
* Did the presentation<br />
<br />
Problems that we faced:<br />
* A little stage nerv<br />
* Getting the right student files from Moodle<br />
<br />
Things that we plan to do:<br />
* Finalize our project<br />
<br />
===Friday - 05.04.13===<br />
* Did give feedback to IP<br />
* We did the finalization of the application<br />
* Finalized our wiki<br />
<br />
==Results==<br />
We developed a new system for client, so he can use the touchscreen of his laptop, or use the mouse or even a interactive whiteboard to evaluate and manage all of the students' projects(e.g. Entity Relationship Diagrams), instead of undergoing the time-consuming and chaotic process of hand-evaluation with a pen on a paper. Our solution benefits an organizational structure which promotes efficiency and deduction of supply usage(paper, pen, printer, printer cartridge). <br />
<br />
===Personal Input===<br />
<br />
====Indrek Mitt====<br />
Our first task was to generate ideas how our solution could work. After we decided to use Moodle environment, me and Sander setup our Moodle test environment and with Panagiota create the needed users and courses. Later we did all the needed testing with users and courses. Then after Moodle was set up we studied Moodles API, to help Sander create new functions in Moodle and get his part of the java code right. Also my part was to set up extra meetings with our client. In the last stage of our project I created the skeleton of the presentation, which we finalized together. <br />
<br />
What did I learn:<br />
* different things from lectures <br />
* very valuable group work experience in international group <br />
* very good language practice <br />
* experience in real project with time limit<br />
* learned to know Moodle environment much better <br />
* got to know programming a bit better<br />
<br />
====Sander Saarm====<br />
First I studied Moodle and it's API, read the documentation and then we (with Panagiota and Indrek) created some test users: students and teachers. Then I started to do the code in Java (used REST protocol) and with the little help from Nikolaos I managed to use Moodle API functions to get different information from database for the application Nikolaos did. I had some help also from Panagiota and Indrek finding all the functions and their descriptions. Mart Mangus, our mentor, gave also some help with creating new functions to Moodle API.<br />
<br />
<br />
What did I learn:<br />
* A lot about Moodle and Java implementation<br />
* Using and creating Moodle API's functions<br />
* Getting the information from Moodle's database<br />
* Communication with Moodle services through MoodleRest API<br />
<br />
====Panagiota Chatzi====<br />
<br />
<br />
Firstly we divided the reading of the Moodle documentation into parts and with Indrek and Sander we tried to familiarize with it. We created some users, we enrolled them and we made the proper testings in order to see how Moodle works. We were given specific requirements from our client, so we had to put them into Moodle. When Sander began to do the code, me and Indrek helped him by finding all the functions and their descriptions. I want to thank Mart Mangus, for his precious help. He gave us really useful advices during this project. I want to thank also my colleagues for the efficient team work.<br />
<br />
What have I learnt:<br />
*How to co-operate and work with other people in such intensive projects<br />
*How to behave in front of a client in order to promote a solution<br />
*I began to familiarize with the idea of a presentation in a different language<br />
*This program gave me the chance to see how companies work and broaden my horizons<br />
*I worked with my colleagues on trying to understand APIs<br />
<br />
====Nikolaos Karadimitriou====<br />
<br />
<br />
What did I do to successfully bring our project to a sufficient state(working):<br />
<br />
<br />
At first I suggested the task division into 2 parts and the assignment of them to 2 teams. Following this way the strengths of each team member could be exploited in more sufficient form. <br />
My main goal was to create an easy to use, functional application which comprises the following:<br />
<br />
*1. Communication with Moodle services through MoodleRest API<br />
*2. Retrieval of several data from Moodle system and translate them to usable and understandable graphical interface objects (e.g. Lists of students in a course(Json Structure) => Table Structure (java)) <br />
*3. Image(exercise files, .jpg .bmp .tiff .png) processing and manipulation, in order to evaluate ER-Diagrams. <br />
*4. Correcting marks. Comments. New tables etc. On screen.<br />
*5. Student management and grading frames communicating with Moodle services.<br />
*6. On screen image processing with functional interactive buttons and features.<br />
*7. Touch screen usability.<br />
*8. Application’s capability in working with interactive whiteboards.<br />
*9. The application was implemented in Java and Processing programming language.<br />
<br />
*My secondary part in the project was to coordinate the project’s process and give advice to all the members of the project.<br />
<br />
<br />
<br />
Knowledge and Skills I've acquired:<br />
<br />
*The most beneficial experience I’ve gained was the teamwork and cooperation with international students, and of course a sufficient and concrete knowledge on presentation methods and methodology in general. I believe some substantial skills, in coordinating and task assigning group members were also acquired. <br />
<br />
*Also in the programming domain, I’ve gained a useful amount of skills regarding image manipulation and touchscreen usable graphical interfaces as well as API integration to custom systems.<br />
<br />
*One thing also worth mentioning is the familiarization with different cultures and languages.<br />
<br />
===Final documentation===<br />
====Analysis====<br />
{|<br />
|[[File:analysis.png|400px|thumb|left|Current Evaluation Process Analysis]]<br />
| <br />
|[[File:Solution.png|400px|thumb|left|Analysis of The Task and System Implementation]]<br />
|}<br />
<br />
===Solution===<br />
====Creation Of Teacher's touchscreen-compatible local application to manage, evaluate and communicate with students:====<br />
<br />
<br />
<br />
{|<br />
|[[Link For Video Demo Here.]]<br />
|}<br />
<br />
{|<br />
|[[Source Code.]]<br />
|}<br />
<br />
====Changes in Moodle environment:====<br />
<br />
===== Moodle Part one =====<br />
Go to:<br />
<br />
Site administration->Advanced features-> Plugins->Web services ->External services-><br />
<br />
Add :<br />
<br />
<br />
1)Add new external service<br />
<br />
2)To new external service add functions: <br />
<br />
*core_course_get_courses (Get the list of courses where a user is enrolled in)<br />
*core_enrol_get_users_courses (core_enrol_get_users_courses)<br />
*core_enrol_get_enrolled_users (Get enrolled users by course id.)<br />
*core_files_get_files (browse moodle files)<br />
*core_files_upload (upload a file to moodle) <br />
These functions need to be crated before they can be added:<br />
*core_get_files_by_userid (Returns files by user id)<br />
*core_get_id_by_token (Returns id by token)<br />
<br />
3)For new external service add -> Authorised users<br />
<br />
Example:<br />
{| <br />
|[[File:Moodle_Extetrnal_services.png|600px|thumb|left|Moodle external services]]<br />
|}<br />
<br />
=====Moodle Part two=====<br />
Create new functions:<br />
<br />
==IP Feedback==<br />
===Indrek Mitt's feedback===<br />
I liked the IP and I think that the organisation side was very good. You always knew what will happen next. Very good international teamwork experience. Lectures were interesting as well. Choice of cafeteria was very good. The majority of teamwork topics were in my opinion to much programmer based. No networking projects! Social events helped to get to know everybody better.<br />
<br />
===Sander Saarm's feedback===<br />
* I liked the internationality in this course, because I found out so many friendly people from other countries (Lithuania, Greece and Finland). We had our good and bad times during these two weeks.<br />
* I'm glad we also had different cultural activities. I had never been to TV Tower since the restoring and also the Plane Harbour was new and very interesting to me.<br />
* I actually think we could have had a little more time to finish our project 100%, but we have made 90% in my oppinion, so it's pretty great.<br />
<br />
===Panagiota Chatzi's feedback===<br />
I liked this and that.<br />
<br />
===Nikolaos Karadimitriou's feedback===<br />
Very interesting project-completion oriented program. Stress everyone's skills to the limits and in most times it successfully expands them and new skills and knowledge is retrieved.</div>Imitthttps://wiki.itcollege.ee/index.php?title=ET&diff=62463ET2013-04-05T12:05:48Z<p>Imitt: /* Part one */</p>
<hr />
<div>Team page for [[ET]].<br />
<br />
===Members===<br />
* Indrek Mitt, IT College<br />
* Sander Saarm, IT College<br />
* Panagiota Chatzi, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
* Nikolaos Karadimitriou, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
<br />
<br />
===Goal===<br />
*Create an application for our client that is very effective and user friendly. <br />
*A familiar environment for students to upload their exercises.<br />
*In general, to augment E-Learning Environments and facilitate students' exercises evaluation by using our application.<br />
<br />
==Activity==<br />
===Monday - 25.03.13===<br />
Things that we did that day<br />
* Learned about documentation and data mining<br />
* Programmed sumo robots<br />
* Got to know our team at welcome dinner in St. Patrick's<br />
<br />
===Tuesday - 26.03.13===<br />
Things that we did that day<br />
* Talked about our case and made sure everybody is on the same page<br />
* Put together a list of questions for our client<br />
* Thought of different solutions for our project <br />
* Seperated tasks between team members<br />
<br />
Problems that we faced:<br />
* We didn't have enough information about our case<br />
* We wanted to use Moodle, but we didn't know if it's suitable for our project<br />
<br />
Things that we plan to do:<br />
* Ask our mentor if Moodle environment suitable for our project<br />
* Prepared to speak to our client Priit Raspel<br />
<br />
===Wednesday - 27.03.13===<br />
Things that we did that day<br />
* Spoke to our clent Priit Raspel.<br />
* Learned about Moodle and installed it.<br />
<br />
Problems that we faced:<br />
* We couldn't access installed Moodle on Sander's computer.<br />
* We needed a laptop with touchscreen.<br />
<br />
Questions and answers from client (consultation)<br />
* The client explained his visions on the project, that were quite similar to our vision. So we didn't have many questions.<br />
* Mostly we talked about the user interface on the teacher's side. We got to know his exact requirements.<br />
* We got telefon numbers of our client and our mentor for further questions.<br />
* We asked about Moodle and it's API from our mentor Mart Mangus.<br />
* We asked for client's touchscreen laptop for two weeks' testings and we got it.<br />
<br />
Things that what we plan to do:<br />
* Need to get a wireless router form Indrek Rokk for our own network to access installed Moodle.<br />
* Get to know Moodle's API.<br />
* Creating user interface.<br />
<br />
===Thursday - 28.03.13===<br />
Things that we did that day<br />
* Had lecture about Innovation<br />
* Studied Moodle documentation<br />
* Set up our Moodle test environment<br />
* Created test course and users<br />
* Checked if Moodle has needed options for our client's specific needs<br />
* Nikolaos is programming the UI<br />
Problems that we faced:<br />
* Had little problems setting up our workstation <br />
* Some network problems <br />
Things that we plan to do:<br />
* Work more on UI<br />
* Try if Moodle's options and API are enough to continue<br />
<br />
===Friday - 29.03.13===<br />
Things that we did that day<br />
* Read the documentation about API in Moodle.<br />
* We divided the parts of documentation for reading & we tried to familiarize with the Moodle's API.<br />
* We created and enrolled users in order to put some necessary and specific requirements that our client needs.<br />
* We logged in as admin, teacher, student to make the proper tests to see if our choices work properly.<br />
* We also created a user through our standalone application using Moodle's API and the service.<br />
* We had to test which protocol suits to our project's requirements because we wanted the right one for connecting with the GUI. The best for us is REST.<br />
<br />
Problems that we faced:<br />
* Couldn't login to Moodle with the standalone application (we fixed it).<br />
* A bug since v2.1 in Moodle doesn't record the shortname of the service that the user creates and makes it impossible for the user to log in (we fixed it).<br />
** In table external_services: "shortname" should be the same as "name". <br />
<br />
Things that we plan to do:<br />
* Work on the standalone application.<br />
* To get the standalone application to communicate with Moodle.<br />
* Find a way to get names of all students for this course and their files:<br />
** Get courses of teacher.<br />
** Get groups of course.<br />
** Get students of course.<br />
** Get student's assignments.<br />
** Get assignment files.<br />
* Find the functions to upload and download files.<br />
<br />
===Saturday - 30.03.13===<br />
Cultural Estonia's day<br />
<br />
===Monday - 01.04.13===<br />
Things that we did that day<br />
* Worked on standalone application (implemented the remove functions)<br />
* Worked on Moodle API's connection and functions.<br />
<br />
Problems that we faced:<br />
* BIG PROBLEM - Didn't have any success in implementing functions. <br />
<br />
Things that we plan to do:<br />
* Work on implementing functions to get standalone app communicating with Moodle.<br />
* Work on the standalone application.<br />
* Meet with client to specify his needs.<br />
<br />
===Tuesday - 02.04.13===<br />
Things that we did that day<br />
* Worked on Moodle API's connection and functions.<br />
* Augmenting teacher's application functionality<br />
<br />
Problems that we faced:<br />
* MoodleREST API connection with Moodle.<br />
<br />
Things that we plan to do:<br />
* Try to finalize the connection to Moodle.<br />
<br />
===Wednesday - 03.04.13===<br />
Things that we did that day<br />
* Further functionality in teacher's application and partial connection with MoodleREST API.<br />
* We completed the functions to retrieve data from Moodle through MoodleREST API<br />
* We worked hard till midnight<br />
<br />
Problems that we faced:<br />
* Time<br />
<br />
Things that we plan to do:<br />
* Integrating data retrieving functions in teacher's application<br />
<br />
===Thursday - 04.04.13===<br />
Things that we did that day<br />
* Prepared our presentation<br />
* Nikolaos prepared the demo on client's touchpad<br />
* Sander did some more Java code: getting teacher's students according to courses<br />
* Did the presentation<br />
<br />
Problems that we faced:<br />
* A little stage nerv<br />
* Getting the right student files from Moodle<br />
<br />
Things that we plan to do:<br />
* Finalize our project<br />
<br />
===Friday - 05.04.13===<br />
* Did give feedback to IP<br />
* We did the finalization of the application<br />
* Finalized our wiki<br />
<br />
==Results==<br />
We developed a new system for client, so he can use the touchscreen of his laptop, or use the mouse or even a interactive whiteboard to evaluate and manage all of the students' projects(e.g. Entity Relationship Diagrams), instead of undergoing the time-consuming and chaotic process of hand-evaluation with a pen on a paper. Our solution benefits an organizational structure which promotes efficiency and deduction of supply usage(paper, pen, printer, printer cartridge). <br />
<br />
===Personal Input===<br />
<br />
====Indrek Mitt====<br />
Our first task was to generate ideas how our solution could work. After we decided to use Moodle environment, me and Sander setup our Moodle test environment and with Panagiota create the needed users and courses. Later we did all the needed testing with users and courses. Then after Moodle was set up we studied Moodles API, to help Sander create new functions in Moodle and get his part of the java code right. Also my part was to set up extra meetings with our client. In the last stage of our project I created the skeleton of the presentation, which we finalized together. <br />
<br />
What did I learn:<br />
* different things from lectures <br />
* very valuable group work experience in international group <br />
* very good language practice <br />
* experience in real project with time limit<br />
* learned to know Moodle environment much better <br />
* got to know programming a bit better<br />
<br />
====Sander Saarm====<br />
First I studied Moodle and it's API, read the documentation and then we (with Panagiota and Indrek) created some test users: students and teachers. Then I started to do the code in Java (used REST protocol) and with the little help from Nikolaos I managed to use Moodle API functions to get different information from database for the application Nikolaos did. I had some help also from Panagiota and Indrek finding all the functions and their descriptions. Mart Mangus, our mentor, gave also some help with creating new functions to Moodle API.<br />
<br />
<br />
What did I learn:<br />
* A lot about Moodle and Java implementation<br />
* Using and creating Moodle API's functions<br />
* Getting the information from Moodle's database<br />
* Communication with Moodle services through MoodleRest API<br />
<br />
====Panagiota Chatzi====<br />
<br />
<br />
Firstly we divided the reading of the Moodle documentation into parts and with Indrek and Sander we tried to familiarize with it. We created some users, we enrolled them and we made the proper testings in order to see how Moodle works. We were given specific requirements from our client, so we had to put them into Moodle. When Sander began to do the code, me and Indrek helped him by finding all the functions and their descriptions. I want to thank Mart Mangus, for his precious help. He gave us really useful advices during this project. I want to thank also my colleagues for the efficient team work.<br />
<br />
What have I learnt:<br />
*How to co-operate and work with other people in such intensive projects<br />
*How to behave in front of a client in order to promote a solution<br />
*I began to familiarize with the idea of a presentation in a different language<br />
*This program gave me the chance to see how companies work and broaden my horizons<br />
*I worked with my colleagues on trying to understand APIs<br />
<br />
====Nikolaos Karadimitriou====<br />
<br />
<br />
What did I do to successfully bring our project to a sufficient state(working):<br />
<br />
<br />
At first I suggested the task division into 2 parts and the assignment of them to 2 teams. Following this way the strengths of each team member could be exploited in more sufficient form. <br />
My main goal was to create an easy to use, functional application which comprises the following:<br />
<br />
*1. Communication with Moodle services through MoodleRest API<br />
*2. Retrieval of several data from Moodle system and translate them to usable and understandable graphical interface objects (e.g. Lists of students in a course(Json Structure) => Table Structure (java)) <br />
*3. Image(exercise files, .jpg .bmp .tiff .png) processing and manipulation, in order to evaluate ER-Diagrams. <br />
*4. Correcting marks. Comments. New tables etc. On screen.<br />
*5. Student management and grading frames communicating with Moodle services.<br />
*6. On screen image processing with functional interactive buttons and features.<br />
*7. Touch screen usability.<br />
*8. Application’s capability in working with interactive whiteboards.<br />
*9. The application was implemented in Java and Processing programming language.<br />
<br />
*My secondary part in the project was to coordinate the project’s process and give advice to all the members of the project.<br />
<br />
<br />
<br />
Knowledge and Skills I've acquired:<br />
<br />
*The most beneficial experience I’ve gained was the teamwork and cooperation with international students, and of course a sufficient and concrete knowledge on presentation methods and methodology in general. I believe some substantial skills, in coordinating and task assigning group members were also acquired. <br />
<br />
*Also in the programming domain, I’ve gained a useful amount of skills regarding image manipulation and touchscreen usable graphical interfaces as well as API integration to custom systems.<br />
<br />
*One thing also worth mentioning is the familiarization with different cultures and languages.<br />
<br />
===Final documentation===<br />
====Analysis====<br />
{|<br />
|[[File:analysis.png|400px|thumb|left|Current Evaluation Process Analysis]]<br />
| <br />
|[[File:Solution.png|400px|thumb|left|Analysis of The Task and System Implementation]]<br />
|}<br />
<br />
===Solution===<br />
====Creation Of Teacher's touchscreen-compatible local application to manage, evaluate and communicate with students:====<br />
<br />
<br />
<br />
{|<br />
|[[Link For Video Demo Here.]]<br />
|}<br />
<br />
{|<br />
|[[Source Code.]]<br />
|}<br />
<br />
====Changes in Moodle environment:====<br />
<br />
===== Moodle Part one =====<br />
Go to:<br />
<br />
Site administration->Advanced features-> Plugins->Web services ->External services-><br />
<br />
Add :<br />
<br />
<br />
1)Add new external service<br />
<br />
2)To new external service add functions: <br />
<br />
*core_course_get_courses (Get the list of courses where a user is enrolled in)<br />
*core_enrol_get_users_courses (core_enrol_get_users_courses)<br />
*core_enrol_get_enrolled_users (Get enrolled users by course id.)<br />
*core_files_get_files (browse moodle files)<br />
*core_files_upload (upload a file to moodle) <br />
These functions need to be crated before they can be added:<br />
*core_get_files_by_userid (Returns files by user id)<br />
*core_get_id_by_token (Returns id by token)<br />
<br />
3)For new external service add -> Authorised users<br />
<br />
Example:<br />
{| <br />
|[[File:Moodle_Extetrnal_services.png|600px|thumb|left|Moodle external services]]<br />
|}<br />
<br />
=====Part two=====<br />
Create new functions:<br />
<br />
==IP Feedback==<br />
===Indrek Mitt's feedback===<br />
I liked the IP and I think that the organisation side was very good. You always knew what will happen next. Very good international teamwork experience. Lectures were interesting as well. Choice of cafeteria was very good. The majority of teamwork topics were in my opinion to much programmer based. No networking projects! Social events helped to get to know everybody better.<br />
<br />
===Sander Saarm's feedback===<br />
* I liked the internationality in this course, because I found out so many friendly people from other countries (Lithuania, Greece and Finland). We had our good and bad times during these two weeks.<br />
* I'm glad we also had different cultural activities. I had never been to TV Tower since the restoring and also the Plane Harbour was new and very interesting to me.<br />
* I actually think we could have had a little more time to finish our project 100%, but we have made 90% in my oppinion, so it's pretty great.<br />
<br />
===Panagiota Chatzi's feedback===<br />
I liked this and that.<br />
<br />
===Nikolaos Karadimitriou's feedback===<br />
Very interesting project-completion oriented program. Stress everyone's skills to the limits and in most times it successfully expands them and new skills and knowledge is retrieved.</div>Imitthttps://wiki.itcollege.ee/index.php?title=ET&diff=62462ET2013-04-05T12:05:23Z<p>Imitt: /* Part two */</p>
<hr />
<div>Team page for [[ET]].<br />
<br />
===Members===<br />
* Indrek Mitt, IT College<br />
* Sander Saarm, IT College<br />
* Panagiota Chatzi, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
* Nikolaos Karadimitriou, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
<br />
<br />
===Goal===<br />
*Create an application for our client that is very effective and user friendly. <br />
*A familiar environment for students to upload their exercises.<br />
*In general, to augment E-Learning Environments and facilitate students' exercises evaluation by using our application.<br />
<br />
==Activity==<br />
===Monday - 25.03.13===<br />
Things that we did that day<br />
* Learned about documentation and data mining<br />
* Programmed sumo robots<br />
* Got to know our team at welcome dinner in St. Patrick's<br />
<br />
===Tuesday - 26.03.13===<br />
Things that we did that day<br />
* Talked about our case and made sure everybody is on the same page<br />
* Put together a list of questions for our client<br />
* Thought of different solutions for our project <br />
* Seperated tasks between team members<br />
<br />
Problems that we faced:<br />
* We didn't have enough information about our case<br />
* We wanted to use Moodle, but we didn't know if it's suitable for our project<br />
<br />
Things that we plan to do:<br />
* Ask our mentor if Moodle environment suitable for our project<br />
* Prepared to speak to our client Priit Raspel<br />
<br />
===Wednesday - 27.03.13===<br />
Things that we did that day<br />
* Spoke to our clent Priit Raspel.<br />
* Learned about Moodle and installed it.<br />
<br />
Problems that we faced:<br />
* We couldn't access installed Moodle on Sander's computer.<br />
* We needed a laptop with touchscreen.<br />
<br />
Questions and answers from client (consultation)<br />
* The client explained his visions on the project, that were quite similar to our vision. So we didn't have many questions.<br />
* Mostly we talked about the user interface on the teacher's side. We got to know his exact requirements.<br />
* We got telefon numbers of our client and our mentor for further questions.<br />
* We asked about Moodle and it's API from our mentor Mart Mangus.<br />
* We asked for client's touchscreen laptop for two weeks' testings and we got it.<br />
<br />
Things that what we plan to do:<br />
* Need to get a wireless router form Indrek Rokk for our own network to access installed Moodle.<br />
* Get to know Moodle's API.<br />
* Creating user interface.<br />
<br />
===Thursday - 28.03.13===<br />
Things that we did that day<br />
* Had lecture about Innovation<br />
* Studied Moodle documentation<br />
* Set up our Moodle test environment<br />
* Created test course and users<br />
* Checked if Moodle has needed options for our client's specific needs<br />
* Nikolaos is programming the UI<br />
Problems that we faced:<br />
* Had little problems setting up our workstation <br />
* Some network problems <br />
Things that we plan to do:<br />
* Work more on UI<br />
* Try if Moodle's options and API are enough to continue<br />
<br />
===Friday - 29.03.13===<br />
Things that we did that day<br />
* Read the documentation about API in Moodle.<br />
* We divided the parts of documentation for reading & we tried to familiarize with the Moodle's API.<br />
* We created and enrolled users in order to put some necessary and specific requirements that our client needs.<br />
* We logged in as admin, teacher, student to make the proper tests to see if our choices work properly.<br />
* We also created a user through our standalone application using Moodle's API and the service.<br />
* We had to test which protocol suits to our project's requirements because we wanted the right one for connecting with the GUI. The best for us is REST.<br />
<br />
Problems that we faced:<br />
* Couldn't login to Moodle with the standalone application (we fixed it).<br />
* A bug since v2.1 in Moodle doesn't record the shortname of the service that the user creates and makes it impossible for the user to log in (we fixed it).<br />
** In table external_services: "shortname" should be the same as "name". <br />
<br />
Things that we plan to do:<br />
* Work on the standalone application.<br />
* To get the standalone application to communicate with Moodle.<br />
* Find a way to get names of all students for this course and their files:<br />
** Get courses of teacher.<br />
** Get groups of course.<br />
** Get students of course.<br />
** Get student's assignments.<br />
** Get assignment files.<br />
* Find the functions to upload and download files.<br />
<br />
===Saturday - 30.03.13===<br />
Cultural Estonia's day<br />
<br />
===Monday - 01.04.13===<br />
Things that we did that day<br />
* Worked on standalone application (implemented the remove functions)<br />
* Worked on Moodle API's connection and functions.<br />
<br />
Problems that we faced:<br />
* BIG PROBLEM - Didn't have any success in implementing functions. <br />
<br />
Things that we plan to do:<br />
* Work on implementing functions to get standalone app communicating with Moodle.<br />
* Work on the standalone application.<br />
* Meet with client to specify his needs.<br />
<br />
===Tuesday - 02.04.13===<br />
Things that we did that day<br />
* Worked on Moodle API's connection and functions.<br />
* Augmenting teacher's application functionality<br />
<br />
Problems that we faced:<br />
* MoodleREST API connection with Moodle.<br />
<br />
Things that we plan to do:<br />
* Try to finalize the connection to Moodle.<br />
<br />
===Wednesday - 03.04.13===<br />
Things that we did that day<br />
* Further functionality in teacher's application and partial connection with MoodleREST API.<br />
* We completed the functions to retrieve data from Moodle through MoodleREST API<br />
* We worked hard till midnight<br />
<br />
Problems that we faced:<br />
* Time<br />
<br />
Things that we plan to do:<br />
* Integrating data retrieving functions in teacher's application<br />
<br />
===Thursday - 04.04.13===<br />
Things that we did that day<br />
* Prepared our presentation<br />
* Nikolaos prepared the demo on client's touchpad<br />
* Sander did some more Java code: getting teacher's students according to courses<br />
* Did the presentation<br />
<br />
Problems that we faced:<br />
* A little stage nerv<br />
* Getting the right student files from Moodle<br />
<br />
Things that we plan to do:<br />
* Finalize our project<br />
<br />
===Friday - 05.04.13===<br />
* Did give feedback to IP<br />
* We did the finalization of the application<br />
* Finalized our wiki<br />
<br />
==Results==<br />
We developed a new system for client, so he can use the touchscreen of his laptop, or use the mouse or even a interactive whiteboard to evaluate and manage all of the students' projects(e.g. Entity Relationship Diagrams), instead of undergoing the time-consuming and chaotic process of hand-evaluation with a pen on a paper. Our solution benefits an organizational structure which promotes efficiency and deduction of supply usage(paper, pen, printer, printer cartridge). <br />
<br />
===Personal Input===<br />
<br />
====Indrek Mitt====<br />
Our first task was to generate ideas how our solution could work. After we decided to use Moodle environment, me and Sander setup our Moodle test environment and with Panagiota create the needed users and courses. Later we did all the needed testing with users and courses. Then after Moodle was set up we studied Moodles API, to help Sander create new functions in Moodle and get his part of the java code right. Also my part was to set up extra meetings with our client. In the last stage of our project I created the skeleton of the presentation, which we finalized together. <br />
<br />
What did I learn:<br />
* different things from lectures <br />
* very valuable group work experience in international group <br />
* very good language practice <br />
* experience in real project with time limit<br />
* learned to know Moodle environment much better <br />
* got to know programming a bit better<br />
<br />
====Sander Saarm====<br />
First I studied Moodle and it's API, read the documentation and then we (with Panagiota and Indrek) created some test users: students and teachers. Then I started to do the code in Java (used REST protocol) and with the little help from Nikolaos I managed to use Moodle API functions to get different information from database for the application Nikolaos did. I had some help also from Panagiota and Indrek finding all the functions and their descriptions. Mart Mangus, our mentor, gave also some help with creating new functions to Moodle API.<br />
<br />
<br />
What did I learn:<br />
* A lot about Moodle and Java implementation<br />
* Using and creating Moodle API's functions<br />
* Getting the information from Moodle's database<br />
* Communication with Moodle services through MoodleRest API<br />
<br />
====Panagiota Chatzi====<br />
<br />
<br />
Firstly we divided the reading of the Moodle documentation into parts and with Indrek and Sander we tried to familiarize with it. We created some users, we enrolled them and we made the proper testings in order to see how Moodle works. We were given specific requirements from our client, so we had to put them into Moodle. When Sander began to do the code, me and Indrek helped him by finding all the functions and their descriptions. I want to thank Mart Mangus, for his precious help. He gave us really useful advices during this project. I want to thank also my colleagues for the efficient team work.<br />
<br />
What have I learnt:<br />
*How to co-operate and work with other people in such intensive projects<br />
*How to behave in front of a client in order to promote a solution<br />
*I began to familiarize with the idea of a presentation in a different language<br />
*This program gave me the chance to see how companies work and broaden my horizons<br />
*I worked with my colleagues on trying to understand APIs<br />
<br />
====Nikolaos Karadimitriou====<br />
<br />
<br />
What did I do to successfully bring our project to a sufficient state(working):<br />
<br />
<br />
At first I suggested the task division into 2 parts and the assignment of them to 2 teams. Following this way the strengths of each team member could be exploited in more sufficient form. <br />
My main goal was to create an easy to use, functional application which comprises the following:<br />
<br />
*1. Communication with Moodle services through MoodleRest API<br />
*2. Retrieval of several data from Moodle system and translate them to usable and understandable graphical interface objects (e.g. Lists of students in a course(Json Structure) => Table Structure (java)) <br />
*3. Image(exercise files, .jpg .bmp .tiff .png) processing and manipulation, in order to evaluate ER-Diagrams. <br />
*4. Correcting marks. Comments. New tables etc. On screen.<br />
*5. Student management and grading frames communicating with Moodle services.<br />
*6. On screen image processing with functional interactive buttons and features.<br />
*7. Touch screen usability.<br />
*8. Application’s capability in working with interactive whiteboards.<br />
*9. The application was implemented in Java and Processing programming language.<br />
<br />
*My secondary part in the project was to coordinate the project’s process and give advice to all the members of the project.<br />
<br />
<br />
<br />
Knowledge and Skills I've acquired:<br />
<br />
*The most beneficial experience I’ve gained was the teamwork and cooperation with international students, and of course a sufficient and concrete knowledge on presentation methods and methodology in general. I believe some substantial skills, in coordinating and task assigning group members were also acquired. <br />
<br />
*Also in the programming domain, I’ve gained a useful amount of skills regarding image manipulation and touchscreen usable graphical interfaces as well as API integration to custom systems.<br />
<br />
*One thing also worth mentioning is the familiarization with different cultures and languages.<br />
<br />
===Final documentation===<br />
====Analysis====<br />
{|<br />
|[[File:analysis.png|400px|thumb|left|Current Evaluation Process Analysis]]<br />
| <br />
|[[File:Solution.png|400px|thumb|left|Analysis of The Task and System Implementation]]<br />
|}<br />
<br />
===Solution===<br />
====Creation Of Teacher's touchscreen-compatible local application to manage, evaluate and communicate with students:====<br />
<br />
<br />
<br />
{|<br />
|[[Link For Video Demo Here.]]<br />
|}<br />
<br />
{|<br />
|[[Source Code.]]<br />
|}<br />
<br />
====Changes in Moodle environment:====<br />
<br />
===== Part one =====<br />
Go to:<br />
<br />
Site administration->Advanced features-> Plugins->Web services ->External services-><br />
<br />
Add :<br />
<br />
<br />
1)Add new external service<br />
<br />
2)To new external service add functions: <br />
<br />
*core_course_get_courses (Get the list of courses where a user is enrolled in)<br />
*core_enrol_get_users_courses (core_enrol_get_users_courses)<br />
*core_enrol_get_enrolled_users (Get enrolled users by course id.)<br />
*core_files_get_files (browse moodle files)<br />
*core_files_upload (upload a file to moodle) <br />
These functions need to be crated before they can be added:<br />
*core_get_files_by_userid (Returns files by user id)<br />
*core_get_id_by_token (Returns id by token)<br />
<br />
3)For new external service add -> Authorised users<br />
<br />
Example:<br />
{| <br />
|[[File:Moodle_Extetrnal_services.png|600px|thumb|left|Moodle external services]]<br />
|}<br />
<br />
=====Part two=====<br />
Create new functions:<br />
<br />
==IP Feedback==<br />
===Indrek Mitt's feedback===<br />
I liked the IP and I think that the organisation side was very good. You always knew what will happen next. Very good international teamwork experience. Lectures were interesting as well. Choice of cafeteria was very good. The majority of teamwork topics were in my opinion to much programmer based. No networking projects! Social events helped to get to know everybody better.<br />
<br />
===Sander Saarm's feedback===<br />
* I liked the internationality in this course, because I found out so many friendly people from other countries (Lithuania, Greece and Finland). We had our good and bad times during these two weeks.<br />
* I'm glad we also had different cultural activities. I had never been to TV Tower since the restoring and also the Plane Harbour was new and very interesting to me.<br />
* I actually think we could have had a little more time to finish our project 100%, but we have made 90% in my oppinion, so it's pretty great.<br />
<br />
===Panagiota Chatzi's feedback===<br />
I liked this and that.<br />
<br />
===Nikolaos Karadimitriou's feedback===<br />
Very interesting project-completion oriented program. Stress everyone's skills to the limits and in most times it successfully expands them and new skills and knowledge is retrieved.</div>Imitthttps://wiki.itcollege.ee/index.php?title=ET&diff=62461ET2013-04-05T12:03:31Z<p>Imitt: /* Part one */</p>
<hr />
<div>Team page for [[ET]].<br />
<br />
===Members===<br />
* Indrek Mitt, IT College<br />
* Sander Saarm, IT College<br />
* Panagiota Chatzi, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
* Nikolaos Karadimitriou, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
<br />
<br />
===Goal===<br />
*Create an application for our client that is very effective and user friendly. <br />
*A familiar environment for students to upload their exercises.<br />
*In general, to augment E-Learning Environments and facilitate students' exercises evaluation by using our application.<br />
<br />
==Activity==<br />
===Monday - 25.03.13===<br />
Things that we did that day<br />
* Learned about documentation and data mining<br />
* Programmed sumo robots<br />
* Got to know our team at welcome dinner in St. Patrick's<br />
<br />
===Tuesday - 26.03.13===<br />
Things that we did that day<br />
* Talked about our case and made sure everybody is on the same page<br />
* Put together a list of questions for our client<br />
* Thought of different solutions for our project <br />
* Seperated tasks between team members<br />
<br />
Problems that we faced:<br />
* We didn't have enough information about our case<br />
* We wanted to use Moodle, but we didn't know if it's suitable for our project<br />
<br />
Things that we plan to do:<br />
* Ask our mentor if Moodle environment suitable for our project<br />
* Prepared to speak to our client Priit Raspel<br />
<br />
===Wednesday - 27.03.13===<br />
Things that we did that day<br />
* Spoke to our clent Priit Raspel.<br />
* Learned about Moodle and installed it.<br />
<br />
Problems that we faced:<br />
* We couldn't access installed Moodle on Sander's computer.<br />
* We needed a laptop with touchscreen.<br />
<br />
Questions and answers from client (consultation)<br />
* The client explained his visions on the project, that were quite similar to our vision. So we didn't have many questions.<br />
* Mostly we talked about the user interface on the teacher's side. We got to know his exact requirements.<br />
* We got telefon numbers of our client and our mentor for further questions.<br />
* We asked about Moodle and it's API from our mentor Mart Mangus.<br />
* We asked for client's touchscreen laptop for two weeks' testings and we got it.<br />
<br />
Things that what we plan to do:<br />
* Need to get a wireless router form Indrek Rokk for our own network to access installed Moodle.<br />
* Get to know Moodle's API.<br />
* Creating user interface.<br />
<br />
===Thursday - 28.03.13===<br />
Things that we did that day<br />
* Had lecture about Innovation<br />
* Studied Moodle documentation<br />
* Set up our Moodle test environment<br />
* Created test course and users<br />
* Checked if Moodle has needed options for our client's specific needs<br />
* Nikolaos is programming the UI<br />
Problems that we faced:<br />
* Had little problems setting up our workstation <br />
* Some network problems <br />
Things that we plan to do:<br />
* Work more on UI<br />
* Try if Moodle's options and API are enough to continue<br />
<br />
===Friday - 29.03.13===<br />
Things that we did that day<br />
* Read the documentation about API in Moodle.<br />
* We divided the parts of documentation for reading & we tried to familiarize with the Moodle's API.<br />
* We created and enrolled users in order to put some necessary and specific requirements that our client needs.<br />
* We logged in as admin, teacher, student to make the proper tests to see if our choices work properly.<br />
* We also created a user through our standalone application using Moodle's API and the service.<br />
* We had to test which protocol suits to our project's requirements because we wanted the right one for connecting with the GUI. The best for us is REST.<br />
<br />
Problems that we faced:<br />
* Couldn't login to Moodle with the standalone application (we fixed it).<br />
* A bug since v2.1 in Moodle doesn't record the shortname of the service that the user creates and makes it impossible for the user to log in (we fixed it).<br />
** In table external_services: "shortname" should be the same as "name". <br />
<br />
Things that we plan to do:<br />
* Work on the standalone application.<br />
* To get the standalone application to communicate with Moodle.<br />
* Find a way to get names of all students for this course and their files:<br />
** Get courses of teacher.<br />
** Get groups of course.<br />
** Get students of course.<br />
** Get student's assignments.<br />
** Get assignment files.<br />
* Find the functions to upload and download files.<br />
<br />
===Saturday - 30.03.13===<br />
Cultural Estonia's day<br />
<br />
===Monday - 01.04.13===<br />
Things that we did that day<br />
* Worked on standalone application (implemented the remove functions)<br />
* Worked on Moodle API's connection and functions.<br />
<br />
Problems that we faced:<br />
* BIG PROBLEM - Didn't have any success in implementing functions. <br />
<br />
Things that we plan to do:<br />
* Work on implementing functions to get standalone app communicating with Moodle.<br />
* Work on the standalone application.<br />
* Meet with client to specify his needs.<br />
<br />
===Tuesday - 02.04.13===<br />
Things that we did that day<br />
* Worked on Moodle API's connection and functions.<br />
* Augmenting teacher's application functionality<br />
<br />
Problems that we faced:<br />
* MoodleREST API connection with Moodle.<br />
<br />
Things that we plan to do:<br />
* Try to finalize the connection to Moodle.<br />
<br />
===Wednesday - 03.04.13===<br />
Things that we did that day<br />
* Further functionality in teacher's application and partial connection with MoodleREST API.<br />
* We completed the functions to retrieve data from Moodle through MoodleREST API<br />
* We worked hard till midnight<br />
<br />
Problems that we faced:<br />
* Time<br />
<br />
Things that we plan to do:<br />
* Integrating data retrieving functions in teacher's application<br />
<br />
===Thursday - 04.04.13===<br />
Things that we did that day<br />
* Prepared our presentation<br />
* Nikolaos prepared the demo on client's touchpad<br />
* Sander did some more Java code: getting teacher's students according to courses<br />
* Did the presentation<br />
<br />
Problems that we faced:<br />
* A little stage nerv<br />
* Getting the right student files from Moodle<br />
<br />
Things that we plan to do:<br />
* Finalize our project<br />
<br />
===Friday - 05.04.13===<br />
* Did give feedback to IP<br />
* We did the finalization of the application<br />
* Finalized our wiki<br />
<br />
==Results==<br />
We developed a new system for client, so he can use the touchscreen of his laptop, or use the mouse or even a interactive whiteboard to evaluate and manage all of the students' projects(e.g. Entity Relationship Diagrams), instead of undergoing the time-consuming and chaotic process of hand-evaluation with a pen on a paper. Our solution benefits an organizational structure which promotes efficiency and deduction of supply usage(paper, pen, printer, printer cartridge). <br />
<br />
===Personal Input===<br />
<br />
====Indrek Mitt====<br />
Our first task was to generate ideas how our solution could work. After we decided to use Moodle environment, me and Sander setup our Moodle test environment and with Panagiota create the needed users and courses. Later we did all the needed testing with users and courses. Then after Moodle was set up we studied Moodles API, to help Sander create new functions in Moodle and get his part of the java code right. Also my part was to set up extra meetings with our client. In the last stage of our project I created the skeleton of the presentation, which we finalized together. <br />
<br />
What did I learn:<br />
* different things from lectures <br />
* very valuable group work experience in international group <br />
* very good language practice <br />
* experience in real project with time limit<br />
* learned to know Moodle environment much better <br />
* got to know programming a bit better<br />
<br />
====Sander Saarm====<br />
First I studied Moodle and it's API, read the documentation and then we (with Panagiota and Indrek) created some test users: students and teachers. Then I started to do the code in Java (used REST protocol) and with the little help from Nikolaos I managed to use Moodle API functions to get different information from database for the application Nikolaos did. I had some help also from Panagiota and Indrek finding all the functions and their descriptions. Mart Mangus, our mentor, gave also some help with creating new functions to Moodle API.<br />
<br />
<br />
What did I learn:<br />
* A lot about Moodle and Java implementation<br />
* Using and creating Moodle API's functions<br />
* Getting the information from Moodle's database<br />
* Communication with Moodle services through MoodleRest API<br />
<br />
====Panagiota Chatzi====<br />
<br />
<br />
Firstly we divided the reading of the Moodle documentation into parts and with Indrek and Sander we tried to familiarize with it. We created some users, we enrolled them and we made the proper testings in order to see how Moodle works. We were given specific requirements from our client, so we had to put them into Moodle. When Sander began to do the code, me and Indrek helped him by finding all the functions and their descriptions. I want to thank Mart Mangus, for his precious help. He gave us really useful advices during this project. I want to thank also my colleagues for the efficient team work.<br />
<br />
What have I learnt:<br />
*How to co-operate and work with other people in such intensive projects<br />
*How to behave in front of a client in order to promote a solution<br />
*I began to familiarize with the idea of a presentation in a different language<br />
*This program gave me the chance to see how companies work and broaden my horizons<br />
*I worked with my colleagues on trying to understand APIs<br />
<br />
====Nikolaos Karadimitriou====<br />
<br />
<br />
What did I do to successfully bring our project to a sufficient state(working):<br />
<br />
<br />
At first I suggested the task division into 2 parts and the assignment of them to 2 teams. Following this way the strengths of each team member could be exploited in more sufficient form. <br />
My main goal was to create an easy to use, functional application which comprises the following:<br />
<br />
*1. Communication with Moodle services through MoodleRest API<br />
*2. Retrieval of several data from Moodle system and translate them to usable and understandable graphical interface objects (e.g. Lists of students in a course(Json Structure) => Table Structure (java)) <br />
*3. Image(exercise files, .jpg .bmp .tiff .png) processing and manipulation, in order to evaluate ER-Diagrams. <br />
*4. Correcting marks. Comments. New tables etc. On screen.<br />
*5. Student management and grading frames communicating with Moodle services.<br />
*6. On screen image processing with functional interactive buttons and features.<br />
*7. Touch screen usability.<br />
*8. Application’s capability in working with interactive whiteboards.<br />
*9. The application was implemented in Java and Processing programming language.<br />
<br />
*My secondary part in the project was to coordinate the project’s process and give advice to all the members of the project.<br />
<br />
<br />
<br />
Knowledge and Skills I've acquired:<br />
<br />
*The most beneficial experience I’ve gained was the teamwork and cooperation with international students, and of course a sufficient and concrete knowledge on presentation methods and methodology in general. I believe some substantial skills, in coordinating and task assigning group members were also acquired. <br />
<br />
*Also in the programming domain, I’ve gained a useful amount of skills regarding image manipulation and touchscreen usable graphical interfaces as well as API integration to custom systems.<br />
<br />
*One thing also worth mentioning is the familiarization with different cultures and languages.<br />
<br />
===Final documentation===<br />
====Analysis====<br />
{|<br />
|[[File:analysis.png|400px|thumb|left|Current Evaluation Process Analysis]]<br />
| <br />
|[[File:Solution.png|400px|thumb|left|Analysis of The Task and System Implementation]]<br />
|}<br />
<br />
===Solution===<br />
====Creation Of Teacher's touchscreen-compatible local application to manage, evaluate and communicate with students:====<br />
<br />
<br />
<br />
{|<br />
|[[Link For Video Demo Here.]]<br />
|}<br />
<br />
{|<br />
|[[Source Code.]]<br />
|}<br />
<br />
====Changes in Moodle environment:====<br />
<br />
===== Part one =====<br />
Go to:<br />
<br />
Site administration->Advanced features-> Plugins->Web services ->External services-><br />
<br />
Add :<br />
<br />
<br />
1)Add new external service<br />
<br />
2)To new external service add functions: <br />
<br />
*core_course_get_courses (Get the list of courses where a user is enrolled in)<br />
*core_enrol_get_users_courses (core_enrol_get_users_courses)<br />
*core_enrol_get_enrolled_users (Get enrolled users by course id.)<br />
*core_files_get_files (browse moodle files)<br />
*core_files_upload (upload a file to moodle) <br />
These functions need to be crated before they can be added:<br />
*core_get_files_by_userid (Returns files by user id)<br />
*core_get_id_by_token (Returns id by token)<br />
<br />
3)For new external service add -> Authorised users<br />
<br />
Example:<br />
{| <br />
|[[File:Moodle_Extetrnal_services.png|600px|thumb|left|Moodle external services]]<br />
|}<br />
<br />
=====Part two=====<br />
Create new functions:<br />
<br />
=====Part two=====<br />
Create new functions:<br />
<br />
==IP Feedback==<br />
===Indrek Mitt's feedback===<br />
I liked the IP and I think that the organisation side was very good. You always knew what will happen next. Very good international teamwork experience. Lectures were interesting as well. Choice of cafeteria was very good. The majority of teamwork topics were in my opinion to much programmer based. No networking projects! Social events helped to get to know everybody better.<br />
<br />
===Sander Saarm's feedback===<br />
* I liked the internationality in this course, because I found out so many friendly people from other countries (Lithuania, Greece and Finland). We had our good and bad times during these two weeks.<br />
* I'm glad we also had different cultural activities. I had never been to TV Tower since the restoring and also the Plane Harbour was new and very interesting to me.<br />
* I actually think we could have had a little more time to finish our project 100%, but we have made 90% in my oppinion, so it's pretty great.<br />
<br />
===Panagiota Chatzi's feedback===<br />
I liked this and that.<br />
<br />
===Nikolaos Karadimitriou's feedback===<br />
Very interesting project-completion oriented program. Stress everyone's skills to the limits and in most times it successfully expands them and new skills and knowledge is retrieved.</div>Imitthttps://wiki.itcollege.ee/index.php?title=ET&diff=62460ET2013-04-05T12:03:10Z<p>Imitt: </p>
<hr />
<div>Team page for [[ET]].<br />
<br />
===Members===<br />
* Indrek Mitt, IT College<br />
* Sander Saarm, IT College<br />
* Panagiota Chatzi, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
* Nikolaos Karadimitriou, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
<br />
<br />
===Goal===<br />
*Create an application for our client that is very effective and user friendly. <br />
*A familiar environment for students to upload their exercises.<br />
*In general, to augment E-Learning Environments and facilitate students' exercises evaluation by using our application.<br />
<br />
==Activity==<br />
===Monday - 25.03.13===<br />
Things that we did that day<br />
* Learned about documentation and data mining<br />
* Programmed sumo robots<br />
* Got to know our team at welcome dinner in St. Patrick's<br />
<br />
===Tuesday - 26.03.13===<br />
Things that we did that day<br />
* Talked about our case and made sure everybody is on the same page<br />
* Put together a list of questions for our client<br />
* Thought of different solutions for our project <br />
* Seperated tasks between team members<br />
<br />
Problems that we faced:<br />
* We didn't have enough information about our case<br />
* We wanted to use Moodle, but we didn't know if it's suitable for our project<br />
<br />
Things that we plan to do:<br />
* Ask our mentor if Moodle environment suitable for our project<br />
* Prepared to speak to our client Priit Raspel<br />
<br />
===Wednesday - 27.03.13===<br />
Things that we did that day<br />
* Spoke to our clent Priit Raspel.<br />
* Learned about Moodle and installed it.<br />
<br />
Problems that we faced:<br />
* We couldn't access installed Moodle on Sander's computer.<br />
* We needed a laptop with touchscreen.<br />
<br />
Questions and answers from client (consultation)<br />
* The client explained his visions on the project, that were quite similar to our vision. So we didn't have many questions.<br />
* Mostly we talked about the user interface on the teacher's side. We got to know his exact requirements.<br />
* We got telefon numbers of our client and our mentor for further questions.<br />
* We asked about Moodle and it's API from our mentor Mart Mangus.<br />
* We asked for client's touchscreen laptop for two weeks' testings and we got it.<br />
<br />
Things that what we plan to do:<br />
* Need to get a wireless router form Indrek Rokk for our own network to access installed Moodle.<br />
* Get to know Moodle's API.<br />
* Creating user interface.<br />
<br />
===Thursday - 28.03.13===<br />
Things that we did that day<br />
* Had lecture about Innovation<br />
* Studied Moodle documentation<br />
* Set up our Moodle test environment<br />
* Created test course and users<br />
* Checked if Moodle has needed options for our client's specific needs<br />
* Nikolaos is programming the UI<br />
Problems that we faced:<br />
* Had little problems setting up our workstation <br />
* Some network problems <br />
Things that we plan to do:<br />
* Work more on UI<br />
* Try if Moodle's options and API are enough to continue<br />
<br />
===Friday - 29.03.13===<br />
Things that we did that day<br />
* Read the documentation about API in Moodle.<br />
* We divided the parts of documentation for reading & we tried to familiarize with the Moodle's API.<br />
* We created and enrolled users in order to put some necessary and specific requirements that our client needs.<br />
* We logged in as admin, teacher, student to make the proper tests to see if our choices work properly.<br />
* We also created a user through our standalone application using Moodle's API and the service.<br />
* We had to test which protocol suits to our project's requirements because we wanted the right one for connecting with the GUI. The best for us is REST.<br />
<br />
Problems that we faced:<br />
* Couldn't login to Moodle with the standalone application (we fixed it).<br />
* A bug since v2.1 in Moodle doesn't record the shortname of the service that the user creates and makes it impossible for the user to log in (we fixed it).<br />
** In table external_services: "shortname" should be the same as "name". <br />
<br />
Things that we plan to do:<br />
* Work on the standalone application.<br />
* To get the standalone application to communicate with Moodle.<br />
* Find a way to get names of all students for this course and their files:<br />
** Get courses of teacher.<br />
** Get groups of course.<br />
** Get students of course.<br />
** Get student's assignments.<br />
** Get assignment files.<br />
* Find the functions to upload and download files.<br />
<br />
===Saturday - 30.03.13===<br />
Cultural Estonia's day<br />
<br />
===Monday - 01.04.13===<br />
Things that we did that day<br />
* Worked on standalone application (implemented the remove functions)<br />
* Worked on Moodle API's connection and functions.<br />
<br />
Problems that we faced:<br />
* BIG PROBLEM - Didn't have any success in implementing functions. <br />
<br />
Things that we plan to do:<br />
* Work on implementing functions to get standalone app communicating with Moodle.<br />
* Work on the standalone application.<br />
* Meet with client to specify his needs.<br />
<br />
===Tuesday - 02.04.13===<br />
Things that we did that day<br />
* Worked on Moodle API's connection and functions.<br />
* Augmenting teacher's application functionality<br />
<br />
Problems that we faced:<br />
* MoodleREST API connection with Moodle.<br />
<br />
Things that we plan to do:<br />
* Try to finalize the connection to Moodle.<br />
<br />
===Wednesday - 03.04.13===<br />
Things that we did that day<br />
* Further functionality in teacher's application and partial connection with MoodleREST API.<br />
* We completed the functions to retrieve data from Moodle through MoodleREST API<br />
* We worked hard till midnight<br />
<br />
Problems that we faced:<br />
* Time<br />
<br />
Things that we plan to do:<br />
* Integrating data retrieving functions in teacher's application<br />
<br />
===Thursday - 04.04.13===<br />
Things that we did that day<br />
* Prepared our presentation<br />
* Nikolaos prepared the demo on client's touchpad<br />
* Sander did some more Java code: getting teacher's students according to courses<br />
* Did the presentation<br />
<br />
Problems that we faced:<br />
* A little stage nerv<br />
* Getting the right student files from Moodle<br />
<br />
Things that we plan to do:<br />
* Finalize our project<br />
<br />
===Friday - 05.04.13===<br />
* Did give feedback to IP<br />
* We did the finalization of the application<br />
* Finalized our wiki<br />
<br />
==Results==<br />
We developed a new system for client, so he can use the touchscreen of his laptop, or use the mouse or even a interactive whiteboard to evaluate and manage all of the students' projects(e.g. Entity Relationship Diagrams), instead of undergoing the time-consuming and chaotic process of hand-evaluation with a pen on a paper. Our solution benefits an organizational structure which promotes efficiency and deduction of supply usage(paper, pen, printer, printer cartridge). <br />
<br />
===Personal Input===<br />
<br />
====Indrek Mitt====<br />
Our first task was to generate ideas how our solution could work. After we decided to use Moodle environment, me and Sander setup our Moodle test environment and with Panagiota create the needed users and courses. Later we did all the needed testing with users and courses. Then after Moodle was set up we studied Moodles API, to help Sander create new functions in Moodle and get his part of the java code right. Also my part was to set up extra meetings with our client. In the last stage of our project I created the skeleton of the presentation, which we finalized together. <br />
<br />
What did I learn:<br />
* different things from lectures <br />
* very valuable group work experience in international group <br />
* very good language practice <br />
* experience in real project with time limit<br />
* learned to know Moodle environment much better <br />
* got to know programming a bit better<br />
<br />
====Sander Saarm====<br />
First I studied Moodle and it's API, read the documentation and then we (with Panagiota and Indrek) created some test users: students and teachers. Then I started to do the code in Java (used REST protocol) and with the little help from Nikolaos I managed to use Moodle API functions to get different information from database for the application Nikolaos did. I had some help also from Panagiota and Indrek finding all the functions and their descriptions. Mart Mangus, our mentor, gave also some help with creating new functions to Moodle API.<br />
<br />
<br />
What did I learn:<br />
* A lot about Moodle and Java implementation<br />
* Using and creating Moodle API's functions<br />
* Getting the information from Moodle's database<br />
* Communication with Moodle services through MoodleRest API<br />
<br />
====Panagiota Chatzi====<br />
<br />
<br />
Firstly we divided the reading of the Moodle documentation into parts and with Indrek and Sander we tried to familiarize with it. We created some users, we enrolled them and we made the proper testings in order to see how Moodle works. We were given specific requirements from our client, so we had to put them into Moodle. When Sander began to do the code, me and Indrek helped him by finding all the functions and their descriptions. I want to thank Mart Mangus, for his precious help. He gave us really useful advices during this project. I want to thank also my colleagues for the efficient team work.<br />
<br />
What have I learnt:<br />
*How to co-operate and work with other people in such intensive projects<br />
*How to behave in front of a client in order to promote a solution<br />
*I began to familiarize with the idea of a presentation in a different language<br />
*This program gave me the chance to see how companies work and broaden my horizons<br />
*I worked with my colleagues on trying to understand APIs<br />
<br />
====Nikolaos Karadimitriou====<br />
<br />
<br />
What did I do to successfully bring our project to a sufficient state(working):<br />
<br />
<br />
At first I suggested the task division into 2 parts and the assignment of them to 2 teams. Following this way the strengths of each team member could be exploited in more sufficient form. <br />
My main goal was to create an easy to use, functional application which comprises the following:<br />
<br />
*1. Communication with Moodle services through MoodleRest API<br />
*2. Retrieval of several data from Moodle system and translate them to usable and understandable graphical interface objects (e.g. Lists of students in a course(Json Structure) => Table Structure (java)) <br />
*3. Image(exercise files, .jpg .bmp .tiff .png) processing and manipulation, in order to evaluate ER-Diagrams. <br />
*4. Correcting marks. Comments. New tables etc. On screen.<br />
*5. Student management and grading frames communicating with Moodle services.<br />
*6. On screen image processing with functional interactive buttons and features.<br />
*7. Touch screen usability.<br />
*8. Application’s capability in working with interactive whiteboards.<br />
*9. The application was implemented in Java and Processing programming language.<br />
<br />
*My secondary part in the project was to coordinate the project’s process and give advice to all the members of the project.<br />
<br />
<br />
<br />
Knowledge and Skills I've acquired:<br />
<br />
*The most beneficial experience I’ve gained was the teamwork and cooperation with international students, and of course a sufficient and concrete knowledge on presentation methods and methodology in general. I believe some substantial skills, in coordinating and task assigning group members were also acquired. <br />
<br />
*Also in the programming domain, I’ve gained a useful amount of skills regarding image manipulation and touchscreen usable graphical interfaces as well as API integration to custom systems.<br />
<br />
*One thing also worth mentioning is the familiarization with different cultures and languages.<br />
<br />
===Final documentation===<br />
====Analysis====<br />
{|<br />
|[[File:analysis.png|400px|thumb|left|Current Evaluation Process Analysis]]<br />
| <br />
|[[File:Solution.png|400px|thumb|left|Analysis of The Task and System Implementation]]<br />
|}<br />
<br />
===Solution===<br />
====Creation Of Teacher's touchscreen-compatible local application to manage, evaluate and communicate with students:====<br />
<br />
<br />
<br />
{|<br />
|[[Link For Video Demo Here.]]<br />
|}<br />
<br />
{|<br />
|[[Source Code.]]<br />
|}<br />
<br />
====Changes in Moodle environment:====<br />
<br />
===== Part one =====<br />
Go to:<br />
<br />
Site administration->Advanced features-> Plugins->Web services ->External services-><br />
<br />
Add :<br />
<br />
<br />
1)Add new external service<br />
<br />
2)To new external service add functions: <br />
<br />
*core_course_get_courses (Get the list of courses where a user is enrolled in)<br />
*core_enrol_get_users_courses (core_enrol_get_users_courses)<br />
*core_enrol_get_enrolled_users (Get enrolled users by course id.)<br />
*core_files_get_files (browse moodle files)<br />
*core_files_upload (upload a file to moodle) <br />
These functions need to be crated before they can be added:<br />
*core_get_files_by_userid (Returns files by user id)<br />
*core_get_id_by_token (Returns id by token)<br />
<br />
3)For new external service add -> Authorised users<br />
<br />
Example:<br />
{| <br />
|[[File:Moodle_Extetrnal_services.png|400px|thumb|left|Moodle external services]]<br />
|}<br />
<br />
=====Part two=====<br />
Create new functions:<br />
<br />
=====Part two=====<br />
Create new functions:<br />
<br />
==IP Feedback==<br />
===Indrek Mitt's feedback===<br />
I liked the IP and I think that the organisation side was very good. You always knew what will happen next. Very good international teamwork experience. Lectures were interesting as well. Choice of cafeteria was very good. The majority of teamwork topics were in my opinion to much programmer based. No networking projects! Social events helped to get to know everybody better.<br />
<br />
===Sander Saarm's feedback===<br />
* I liked the internationality in this course, because I found out so many friendly people from other countries (Lithuania, Greece and Finland). We had our good and bad times during these two weeks.<br />
* I'm glad we also had different cultural activities. I had never been to TV Tower since the restoring and also the Plane Harbour was new and very interesting to me.<br />
* I actually think we could have had a little more time to finish our project 100%, but we have made 90% in my oppinion, so it's pretty great.<br />
<br />
===Panagiota Chatzi's feedback===<br />
I liked this and that.<br />
<br />
===Nikolaos Karadimitriou's feedback===<br />
Very interesting project-completion oriented program. Stress everyone's skills to the limits and in most times it successfully expands them and new skills and knowledge is retrieved.</div>Imitthttps://wiki.itcollege.ee/index.php?title=ET&diff=62459ET2013-04-05T12:02:23Z<p>Imitt: /* Part one */</p>
<hr />
<div>Team page for [[ET]].<br />
<br />
===Members===<br />
* Indrek Mitt, IT College<br />
* Sander Saarm, IT College<br />
* Panagiota Chatzi, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
* Nikolaos Karadimitriou, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
<br />
<br />
===Goal===<br />
*Create an application for our client that is very effective and user friendly. <br />
*A familiar environment for students to upload their exercises.<br />
*In general, to augment E-Learning Environments and facilitate students' exercises evaluation by using our application.<br />
<br />
==Activity==<br />
===Monday - 25.03.13===<br />
Things that we did that day<br />
* Learned about documentation and data mining<br />
* Programmed sumo robots<br />
* Got to know our team at welcome dinner in St. Patrick's<br />
<br />
===Tuesday - 26.03.13===<br />
Things that we did that day<br />
* Talked about our case and made sure everybody is on the same page<br />
* Put together a list of questions for our client<br />
* Thought of different solutions for our project <br />
* Seperated tasks between team members<br />
<br />
Problems that we faced:<br />
* We didn't have enough information about our case<br />
* We wanted to use Moodle, but we didn't know if it's suitable for our project<br />
<br />
Things that we plan to do:<br />
* Ask our mentor if Moodle environment suitable for our project<br />
* Prepared to speak to our client Priit Raspel<br />
<br />
===Wednesday - 27.03.13===<br />
Things that we did that day<br />
* Spoke to our clent Priit Raspel.<br />
* Learned about Moodle and installed it.<br />
<br />
Problems that we faced:<br />
* We couldn't access installed Moodle on Sander's computer.<br />
* We needed a laptop with touchscreen.<br />
<br />
Questions and answers from client (consultation)<br />
* The client explained his visions on the project, that were quite similar to our vision. So we didn't have many questions.<br />
* Mostly we talked about the user interface on the teacher's side. We got to know his exact requirements.<br />
* We got telefon numbers of our client and our mentor for further questions.<br />
* We asked about Moodle and it's API from our mentor Mart Mangus.<br />
* We asked for client's touchscreen laptop for two weeks' testings and we got it.<br />
<br />
Things that what we plan to do:<br />
* Need to get a wireless router form Indrek Rokk for our own network to access installed Moodle.<br />
* Get to know Moodle's API.<br />
* Creating user interface.<br />
<br />
===Thursday - 28.03.13===<br />
Things that we did that day<br />
* Had lecture about Innovation<br />
* Studied Moodle documentation<br />
* Set up our Moodle test environment<br />
* Created test course and users<br />
* Checked if Moodle has needed options for our client's specific needs<br />
* Nikolaos is programming the UI<br />
Problems that we faced:<br />
* Had little problems setting up our workstation <br />
* Some network problems <br />
Things that we plan to do:<br />
* Work more on UI<br />
* Try if Moodle's options and API are enough to continue<br />
<br />
===Friday - 29.03.13===<br />
Things that we did that day<br />
* Read the documentation about API in Moodle.<br />
* We divided the parts of documentation for reading & we tried to familiarize with the Moodle's API.<br />
* We created and enrolled users in order to put some necessary and specific requirements that our client needs.<br />
* We logged in as admin, teacher, student to make the proper tests to see if our choices work properly.<br />
* We also created a user through our standalone application using Moodle's API and the service.<br />
* We had to test which protocol suits to our project's requirements because we wanted the right one for connecting with the GUI. The best for us is REST.<br />
<br />
Problems that we faced:<br />
* Couldn't login to Moodle with the standalone application (we fixed it).<br />
* A bug since v2.1 in Moodle doesn't record the shortname of the service that the user creates and makes it impossible for the user to log in (we fixed it).<br />
** In table external_services: "shortname" should be the same as "name". <br />
<br />
Things that we plan to do:<br />
* Work on the standalone application.<br />
* To get the standalone application to communicate with Moodle.<br />
* Find a way to get names of all students for this course and their files:<br />
** Get courses of teacher.<br />
** Get groups of course.<br />
** Get students of course.<br />
** Get student's assignments.<br />
** Get assignment files.<br />
* Find the functions to upload and download files.<br />
<br />
===Saturday - 30.03.13===<br />
Cultural Estonia's day<br />
<br />
===Monday - 01.04.13===<br />
Things that we did that day<br />
* Worked on standalone application (implemented the remove functions)<br />
* Worked on Moodle API's connection and functions.<br />
<br />
Problems that we faced:<br />
* BIG PROBLEM - Didn't have any success in implementing functions. <br />
<br />
Things that we plan to do:<br />
* Work on implementing functions to get standalone app communicating with Moodle.<br />
* Work on the standalone application.<br />
* Meet with client to specify his needs.<br />
<br />
===Tuesday - 02.04.13===<br />
Things that we did that day<br />
* Worked on Moodle API's connection and functions.<br />
* Augmenting teacher's application functionality<br />
<br />
Problems that we faced:<br />
* MoodleREST API connection with Moodle.<br />
<br />
Things that we plan to do:<br />
* Try to finalize the connection to Moodle.<br />
<br />
===Wednesday - 03.04.13===<br />
Things that we did that day<br />
* Further functionality in teacher's application and partial connection with MoodleREST API.<br />
* We completed the functions to retrieve data from Moodle through MoodleREST API<br />
* We worked hard till midnight<br />
<br />
Problems that we faced:<br />
* Time<br />
<br />
Things that we plan to do:<br />
* Integrating data retrieving functions in teacher's application<br />
<br />
===Thursday - 04.04.13===<br />
Things that we did that day<br />
* Prepared our presentation<br />
* Nikolaos prepared the demo on client's touchpad<br />
* Sander did some more Java code: getting teacher's students according to courses<br />
* Did the presentation<br />
<br />
Problems that we faced:<br />
* A little stage nerv<br />
* Getting the right student files from Moodle<br />
<br />
Things that we plan to do:<br />
* Finalize our project<br />
<br />
===Friday - 05.04.13===<br />
* Did give feedback to IP<br />
* We did the finalization of the application<br />
* Finalized our wiki<br />
<br />
==Results==<br />
We developed a new system for client, so he can use the touchscreen of his laptop, or use the mouse or even a interactive whiteboard to evaluate and manage all of the students' projects(e.g. Entity Relationship Diagrams), instead of undergoing the time-consuming and chaotic process of hand-evaluation with a pen on a paper. Our solution benefits an organizational structure which promotes efficiency and deduction of supply usage(paper, pen, printer, printer cartridge). <br />
<br />
===Personal Input===<br />
<br />
====Indrek Mitt====<br />
Our first task was to generate ideas how our solution could work. After we decided to use Moodle environment, me and Sander setup our Moodle test environment and with Panagiota create the needed users and courses. Later we did all the needed testing with users and courses. Then after Moodle was set up we studied Moodles API, to help Sander create new functions in Moodle and get his part of the java code right. Also my part was to set up extra meetings with our client. In the last stage of our project I created the skeleton of the presentation, which we finalized together. <br />
<br />
What did I learn:<br />
* different things from lectures <br />
* very valuable group work experience in international group <br />
* very good language practice <br />
* experience in real project with time limit<br />
* learned to know Moodle environment much better <br />
* got to know programming a bit better<br />
<br />
====Sander Saarm====<br />
First I studied Moodle and it's API, read the documentation and then we (with Panagiota and Indrek) created some test users: students and teachers. Then I started to do the code in Java (used REST protocol) and with the little help from Nikolaos I managed to use Moodle API functions to get different information from database for the application Nikolaos did. I had some help also from Panagiota and Indrek finding all the functions and their descriptions. Mart Mangus, our mentor, gave also some help with creating new functions to Moodle API.<br />
<br />
<br />
What did I learn:<br />
* A lot about Moodle and Java implementation<br />
* Using and creating Moodle API's functions<br />
* Getting the information from Moodle's database<br />
* Communication with Moodle services through MoodleRest API<br />
<br />
====Panagiota Chatzi====<br />
<br />
<br />
Firstly we divided the reading of the Moodle documentation into parts and with Indrek and Sander we tried to familiarize with it. We created some users, we enrolled them and we made the proper testings in order to see how Moodle works. We were given specific requirements from our client, so we had to put them into Moodle. When Sander began to do the code, me and Indrek helped him by finding all the functions and their descriptions. I want to thank Mart Mangus, for his precious help. He gave us really useful advices during this project. I want to thank also my colleagues for the efficient team work.<br />
<br />
What have I learnt:<br />
*How to co-operate and work with other people in such intensive projects<br />
*How to behave in front of a client in order to promote a solution<br />
*I began to familiarize with the idea of a presentation in a different language<br />
*This program gave me the chance to see how companies work and broaden my horizons<br />
*I worked with my colleagues on trying to understand APIs<br />
<br />
====Nikolaos Karadimitriou====<br />
<br />
<br />
What did I do to successfully bring our project to a sufficient state(working):<br />
<br />
<br />
At first I suggested the task division into 2 parts and the assignment of them to 2 teams. Following this way the strengths of each team member could be exploited in more sufficient form. <br />
My main goal was to create an easy to use, functional application which comprises the following:<br />
<br />
*1. Communication with Moodle services through MoodleRest API<br />
*2. Retrieval of several data from Moodle system and translate them to usable and understandable graphical interface objects (e.g. Lists of students in a course(Json Structure) => Table Structure (java)) <br />
*3. Image(exercise files, .jpg .bmp .tiff .png) processing and manipulation, in order to evaluate ER-Diagrams. <br />
*4. Correcting marks. Comments. New tables etc. On screen.<br />
*5. Student management and grading frames communicating with Moodle services.<br />
*6. On screen image processing with functional interactive buttons and features.<br />
*7. Touch screen usability.<br />
*8. Application’s capability in working with interactive whiteboards.<br />
*9. The application was implemented in Java and Processing programming language.<br />
<br />
*My secondary part in the project was to coordinate the project’s process and give advice to all the members of the project.<br />
<br />
<br />
<br />
Knowledge and Skills I've acquired:<br />
<br />
*The most beneficial experience I’ve gained was the teamwork and cooperation with international students, and of course a sufficient and concrete knowledge on presentation methods and methodology in general. I believe some substantial skills, in coordinating and task assigning group members were also acquired. <br />
<br />
*Also in the programming domain, I’ve gained a useful amount of skills regarding image manipulation and touchscreen usable graphical interfaces as well as API integration to custom systems.<br />
<br />
*One thing also worth mentioning is the familiarization with different cultures and languages.<br />
<br />
===Final documentation===<br />
====Analysis====<br />
{|<br />
|[[File:analysis.png|400px|thumb|left|Current Evaluation Process Analysis]]<br />
| <br />
|[[File:Solution.png|400px|thumb|left|Analysis of The Task and System Implementation]]<br />
|}<br />
<br />
===Solution===<br />
====Creation Of Teacher's touchscreen-compatible local application to manage, evaluate and communicate with students:====<br />
<br />
<br />
<br />
{|<br />
|[[Link For Video Demo Here.]]<br />
|}<br />
<br />
{|<br />
|[[Source Code.]]<br />
|}<br />
<br />
====Changes in Moodle environment:====<br />
<br />
===== Part one =====<br />
Go to:<br />
<br />
Site administration->Advanced features-> Plugins->Web services ->External services-><br />
<br />
Add :<br />
<br />
<br />
1)Add new external service<br />
<br />
2)To new external service add functions: <br />
<br />
*core_course_get_courses (Get the list of courses where a user is enrolled in)<br />
*core_enrol_get_users_courses (core_enrol_get_users_courses)<br />
*core_enrol_get_enrolled_users (Get enrolled users by course id.)<br />
*core_files_get_files (browse moodle files)<br />
*core_files_upload (upload a file to moodle) <br />
These functions need to be crated before they can be added:<br />
*core_get_files_by_userid (Returns files by user id)<br />
*core_get_id_by_token (Returns id by token)<br />
<br />
3)For new external service add -> Authorised users<br />
{| <br />
|[[File:Moodle_Extetrnal_services.png|400px|thumb|left|Moodle external services]]<br />
|}<br />
=====Part two=====<br />
Create new functions:<br />
<br />
=====Part two=====<br />
Create new functions:<br />
<br />
==IP Feedback==<br />
===Indrek Mitt's feedback===<br />
I liked the IP and I think that the organisation side was very good. You always knew what will happen next. Very good international teamwork experience. Lectures were interesting as well. Choice of cafeteria was very good. The majority of teamwork topics were in my opinion to much programmer based. No networking projects! Social events helped to get to know everybody better.<br />
<br />
===Sander Saarm's feedback===<br />
* I liked the internationality in this course, because I found out so many friendly people from other countries (Lithuania, Greece and Finland). We had our good and bad times during these two weeks.<br />
* I'm glad we also had different cultural activities. I had never been to TV Tower since the restoring and also the Plane Harbour was new and very interesting to me.<br />
* I actually think we could have had a little more time to finish our project 100%, but we have made 90% in my oppinion, so it's pretty great.<br />
<br />
===Panagiota Chatzi's feedback===<br />
I liked this and that.<br />
<br />
===Nikolaos Karadimitriou's feedback===<br />
Very interesting project-completion oriented program. Stress everyone's skills to the limits and in most times it successfully expands them and new skills and knowledge is retrieved.</div>Imitthttps://wiki.itcollege.ee/index.php?title=ET&diff=62458ET2013-04-05T12:01:58Z<p>Imitt: /* Part one */</p>
<hr />
<div>Team page for [[ET]].<br />
<br />
===Members===<br />
* Indrek Mitt, IT College<br />
* Sander Saarm, IT College<br />
* Panagiota Chatzi, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
* Nikolaos Karadimitriou, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
<br />
<br />
===Goal===<br />
*Create an application for our client that is very effective and user friendly. <br />
*A familiar environment for students to upload their exercises.<br />
*In general, to augment E-Learning Environments and facilitate students' exercises evaluation by using our application.<br />
<br />
==Activity==<br />
===Monday - 25.03.13===<br />
Things that we did that day<br />
* Learned about documentation and data mining<br />
* Programmed sumo robots<br />
* Got to know our team at welcome dinner in St. Patrick's<br />
<br />
===Tuesday - 26.03.13===<br />
Things that we did that day<br />
* Talked about our case and made sure everybody is on the same page<br />
* Put together a list of questions for our client<br />
* Thought of different solutions for our project <br />
* Seperated tasks between team members<br />
<br />
Problems that we faced:<br />
* We didn't have enough information about our case<br />
* We wanted to use Moodle, but we didn't know if it's suitable for our project<br />
<br />
Things that we plan to do:<br />
* Ask our mentor if Moodle environment suitable for our project<br />
* Prepared to speak to our client Priit Raspel<br />
<br />
===Wednesday - 27.03.13===<br />
Things that we did that day<br />
* Spoke to our clent Priit Raspel.<br />
* Learned about Moodle and installed it.<br />
<br />
Problems that we faced:<br />
* We couldn't access installed Moodle on Sander's computer.<br />
* We needed a laptop with touchscreen.<br />
<br />
Questions and answers from client (consultation)<br />
* The client explained his visions on the project, that were quite similar to our vision. So we didn't have many questions.<br />
* Mostly we talked about the user interface on the teacher's side. We got to know his exact requirements.<br />
* We got telefon numbers of our client and our mentor for further questions.<br />
* We asked about Moodle and it's API from our mentor Mart Mangus.<br />
* We asked for client's touchscreen laptop for two weeks' testings and we got it.<br />
<br />
Things that what we plan to do:<br />
* Need to get a wireless router form Indrek Rokk for our own network to access installed Moodle.<br />
* Get to know Moodle's API.<br />
* Creating user interface.<br />
<br />
===Thursday - 28.03.13===<br />
Things that we did that day<br />
* Had lecture about Innovation<br />
* Studied Moodle documentation<br />
* Set up our Moodle test environment<br />
* Created test course and users<br />
* Checked if Moodle has needed options for our client's specific needs<br />
* Nikolaos is programming the UI<br />
Problems that we faced:<br />
* Had little problems setting up our workstation <br />
* Some network problems <br />
Things that we plan to do:<br />
* Work more on UI<br />
* Try if Moodle's options and API are enough to continue<br />
<br />
===Friday - 29.03.13===<br />
Things that we did that day<br />
* Read the documentation about API in Moodle.<br />
* We divided the parts of documentation for reading & we tried to familiarize with the Moodle's API.<br />
* We created and enrolled users in order to put some necessary and specific requirements that our client needs.<br />
* We logged in as admin, teacher, student to make the proper tests to see if our choices work properly.<br />
* We also created a user through our standalone application using Moodle's API and the service.<br />
* We had to test which protocol suits to our project's requirements because we wanted the right one for connecting with the GUI. The best for us is REST.<br />
<br />
Problems that we faced:<br />
* Couldn't login to Moodle with the standalone application (we fixed it).<br />
* A bug since v2.1 in Moodle doesn't record the shortname of the service that the user creates and makes it impossible for the user to log in (we fixed it).<br />
** In table external_services: "shortname" should be the same as "name". <br />
<br />
Things that we plan to do:<br />
* Work on the standalone application.<br />
* To get the standalone application to communicate with Moodle.<br />
* Find a way to get names of all students for this course and their files:<br />
** Get courses of teacher.<br />
** Get groups of course.<br />
** Get students of course.<br />
** Get student's assignments.<br />
** Get assignment files.<br />
* Find the functions to upload and download files.<br />
<br />
===Saturday - 30.03.13===<br />
Cultural Estonia's day<br />
<br />
===Monday - 01.04.13===<br />
Things that we did that day<br />
* Worked on standalone application (implemented the remove functions)<br />
* Worked on Moodle API's connection and functions.<br />
<br />
Problems that we faced:<br />
* BIG PROBLEM - Didn't have any success in implementing functions. <br />
<br />
Things that we plan to do:<br />
* Work on implementing functions to get standalone app communicating with Moodle.<br />
* Work on the standalone application.<br />
* Meet with client to specify his needs.<br />
<br />
===Tuesday - 02.04.13===<br />
Things that we did that day<br />
* Worked on Moodle API's connection and functions.<br />
* Augmenting teacher's application functionality<br />
<br />
Problems that we faced:<br />
* MoodleREST API connection with Moodle.<br />
<br />
Things that we plan to do:<br />
* Try to finalize the connection to Moodle.<br />
<br />
===Wednesday - 03.04.13===<br />
Things that we did that day<br />
* Further functionality in teacher's application and partial connection with MoodleREST API.<br />
* We completed the functions to retrieve data from Moodle through MoodleREST API<br />
* We worked hard till midnight<br />
<br />
Problems that we faced:<br />
* Time<br />
<br />
Things that we plan to do:<br />
* Integrating data retrieving functions in teacher's application<br />
<br />
===Thursday - 04.04.13===<br />
Things that we did that day<br />
* Prepared our presentation<br />
* Nikolaos prepared the demo on client's touchpad<br />
* Sander did some more Java code: getting teacher's students according to courses<br />
* Did the presentation<br />
<br />
Problems that we faced:<br />
* A little stage nerv<br />
* Getting the right student files from Moodle<br />
<br />
Things that we plan to do:<br />
* Finalize our project<br />
<br />
===Friday - 05.04.13===<br />
* Did give feedback to IP<br />
* We did the finalization of the application<br />
* Finalized our wiki<br />
<br />
==Results==<br />
We developed a new system for client, so he can use the touchscreen of his laptop, or use the mouse or even a interactive whiteboard to evaluate and manage all of the students' projects(e.g. Entity Relationship Diagrams), instead of undergoing the time-consuming and chaotic process of hand-evaluation with a pen on a paper. Our solution benefits an organizational structure which promotes efficiency and deduction of supply usage(paper, pen, printer, printer cartridge). <br />
<br />
===Personal Input===<br />
<br />
====Indrek Mitt====<br />
Our first task was to generate ideas how our solution could work. After we decided to use Moodle environment, me and Sander setup our Moodle test environment and with Panagiota create the needed users and courses. Later we did all the needed testing with users and courses. Then after Moodle was set up we studied Moodles API, to help Sander create new functions in Moodle and get his part of the java code right. Also my part was to set up extra meetings with our client. In the last stage of our project I created the skeleton of the presentation, which we finalized together. <br />
<br />
What did I learn:<br />
* different things from lectures <br />
* very valuable group work experience in international group <br />
* very good language practice <br />
* experience in real project with time limit<br />
* learned to know Moodle environment much better <br />
* got to know programming a bit better<br />
<br />
====Sander Saarm====<br />
First I studied Moodle and it's API, read the documentation and then we (with Panagiota and Indrek) created some test users: students and teachers. Then I started to do the code in Java (used REST protocol) and with the little help from Nikolaos I managed to use Moodle API functions to get different information from database for the application Nikolaos did. I had some help also from Panagiota and Indrek finding all the functions and their descriptions. Mart Mangus, our mentor, gave also some help with creating new functions to Moodle API.<br />
<br />
<br />
What did I learn:<br />
* A lot about Moodle and Java implementation<br />
* Using and creating Moodle API's functions<br />
* Getting the information from Moodle's database<br />
* Communication with Moodle services through MoodleRest API<br />
<br />
====Panagiota Chatzi====<br />
<br />
<br />
Firstly we divided the reading of the Moodle documentation into parts and with Indrek and Sander we tried to familiarize with it. We created some users, we enrolled them and we made the proper testings in order to see how Moodle works. We were given specific requirements from our client, so we had to put them into Moodle. When Sander began to do the code, me and Indrek helped him by finding all the functions and their descriptions. I want to thank Mart Mangus, for his precious help. He gave us really useful advices during this project. I want to thank also my colleagues for the efficient team work.<br />
<br />
What have I learnt:<br />
*How to co-operate and work with other people in such intensive projects<br />
*How to behave in front of a client in order to promote a solution<br />
*I began to familiarize with the idea of a presentation in a different language<br />
*This program gave me the chance to see how companies work and broaden my horizons<br />
*I worked with my colleagues on trying to understand APIs<br />
<br />
====Nikolaos Karadimitriou====<br />
<br />
<br />
What did I do to successfully bring our project to a sufficient state(working):<br />
<br />
<br />
At first I suggested the task division into 2 parts and the assignment of them to 2 teams. Following this way the strengths of each team member could be exploited in more sufficient form. <br />
My main goal was to create an easy to use, functional application which comprises the following:<br />
<br />
*1. Communication with Moodle services through MoodleRest API<br />
*2. Retrieval of several data from Moodle system and translate them to usable and understandable graphical interface objects (e.g. Lists of students in a course(Json Structure) => Table Structure (java)) <br />
*3. Image(exercise files, .jpg .bmp .tiff .png) processing and manipulation, in order to evaluate ER-Diagrams. <br />
*4. Correcting marks. Comments. New tables etc. On screen.<br />
*5. Student management and grading frames communicating with Moodle services.<br />
*6. On screen image processing with functional interactive buttons and features.<br />
*7. Touch screen usability.<br />
*8. Application’s capability in working with interactive whiteboards.<br />
*9. The application was implemented in Java and Processing programming language.<br />
<br />
*My secondary part in the project was to coordinate the project’s process and give advice to all the members of the project.<br />
<br />
<br />
<br />
Knowledge and Skills I've acquired:<br />
<br />
*The most beneficial experience I’ve gained was the teamwork and cooperation with international students, and of course a sufficient and concrete knowledge on presentation methods and methodology in general. I believe some substantial skills, in coordinating and task assigning group members were also acquired. <br />
<br />
*Also in the programming domain, I’ve gained a useful amount of skills regarding image manipulation and touchscreen usable graphical interfaces as well as API integration to custom systems.<br />
<br />
*One thing also worth mentioning is the familiarization with different cultures and languages.<br />
<br />
===Final documentation===<br />
====Analysis====<br />
{|<br />
|[[File:analysis.png|400px|thumb|left|Current Evaluation Process Analysis]]<br />
| <br />
|[[File:Solution.png|400px|thumb|left|Analysis of The Task and System Implementation]]<br />
|}<br />
<br />
===Solution===<br />
====Creation Of Teacher's touchscreen-compatible local application to manage, evaluate and communicate with students:====<br />
<br />
<br />
<br />
{|<br />
|[[Link For Video Demo Here.]]<br />
|}<br />
<br />
{|<br />
|[[Source Code.]]<br />
|}<br />
<br />
====Changes in Moodle environment:====<br />
<br />
===== Part one =====<br />
Go to:<br />
<br />
Site administration->Advanced features-> Plugins->Web services ->External services-><br />
<br />
Add :<br />
<br />
<br />
1)Add new external service<br />
<br />
2)To new external service add functions: <br />
<br />
*core_course_get_courses (Get the list of courses where a user is enrolled in)<br />
*core_enrol_get_users_courses (core_enrol_get_users_courses)<br />
*core_enrol_get_enrolled_users (Get enrolled users by course id.)<br />
*core_files_get_files (browse moodle files)<br />
*core_files_upload (upload a file to moodle) <br />
These functions need to be crated before they can be added:<br />
*core_get_files_by_userid (Returns files by user id)<br />
*core_get_id_by_token (Returns id by token)<br />
<br />
3)For new external service add -> Authorised users<br />
{| <br />
[[File:Moodle_Extetrnal_services.png|400px|thumb|left|Moodle external services]]<br />
|}<br />
<br />
=====Part two=====<br />
Create new functions:<br />
<br />
==IP Feedback==<br />
===Indrek Mitt's feedback===<br />
I liked the IP and I think that the organisation side was very good. You always knew what will happen next. Very good international teamwork experience. Lectures were interesting as well. Choice of cafeteria was very good. The majority of teamwork topics were in my opinion to much programmer based. No networking projects! Social events helped to get to know everybody better.<br />
<br />
===Sander Saarm's feedback===<br />
* I liked the internationality in this course, because I found out so many friendly people from other countries (Lithuania, Greece and Finland). We had our good and bad times during these two weeks.<br />
* I'm glad we also had different cultural activities. I had never been to TV Tower since the restoring and also the Plane Harbour was new and very interesting to me.<br />
* I actually think we could have had a little more time to finish our project 100%, but we have made 90% in my oppinion, so it's pretty great.<br />
<br />
===Panagiota Chatzi's feedback===<br />
I liked this and that.<br />
<br />
===Nikolaos Karadimitriou's feedback===<br />
Very interesting project-completion oriented program. Stress everyone's skills to the limits and in most times it successfully expands them and new skills and knowledge is retrieved.</div>Imitthttps://wiki.itcollege.ee/index.php?title=ET&diff=62457ET2013-04-05T12:01:45Z<p>Imitt: /* Part two */</p>
<hr />
<div>Team page for [[ET]].<br />
<br />
===Members===<br />
* Indrek Mitt, IT College<br />
* Sander Saarm, IT College<br />
* Panagiota Chatzi, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
* Nikolaos Karadimitriou, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
<br />
<br />
===Goal===<br />
*Create an application for our client that is very effective and user friendly. <br />
*A familiar environment for students to upload their exercises.<br />
*In general, to augment E-Learning Environments and facilitate students' exercises evaluation by using our application.<br />
<br />
==Activity==<br />
===Monday - 25.03.13===<br />
Things that we did that day<br />
* Learned about documentation and data mining<br />
* Programmed sumo robots<br />
* Got to know our team at welcome dinner in St. Patrick's<br />
<br />
===Tuesday - 26.03.13===<br />
Things that we did that day<br />
* Talked about our case and made sure everybody is on the same page<br />
* Put together a list of questions for our client<br />
* Thought of different solutions for our project <br />
* Seperated tasks between team members<br />
<br />
Problems that we faced:<br />
* We didn't have enough information about our case<br />
* We wanted to use Moodle, but we didn't know if it's suitable for our project<br />
<br />
Things that we plan to do:<br />
* Ask our mentor if Moodle environment suitable for our project<br />
* Prepared to speak to our client Priit Raspel<br />
<br />
===Wednesday - 27.03.13===<br />
Things that we did that day<br />
* Spoke to our clent Priit Raspel.<br />
* Learned about Moodle and installed it.<br />
<br />
Problems that we faced:<br />
* We couldn't access installed Moodle on Sander's computer.<br />
* We needed a laptop with touchscreen.<br />
<br />
Questions and answers from client (consultation)<br />
* The client explained his visions on the project, that were quite similar to our vision. So we didn't have many questions.<br />
* Mostly we talked about the user interface on the teacher's side. We got to know his exact requirements.<br />
* We got telefon numbers of our client and our mentor for further questions.<br />
* We asked about Moodle and it's API from our mentor Mart Mangus.<br />
* We asked for client's touchscreen laptop for two weeks' testings and we got it.<br />
<br />
Things that what we plan to do:<br />
* Need to get a wireless router form Indrek Rokk for our own network to access installed Moodle.<br />
* Get to know Moodle's API.<br />
* Creating user interface.<br />
<br />
===Thursday - 28.03.13===<br />
Things that we did that day<br />
* Had lecture about Innovation<br />
* Studied Moodle documentation<br />
* Set up our Moodle test environment<br />
* Created test course and users<br />
* Checked if Moodle has needed options for our client's specific needs<br />
* Nikolaos is programming the UI<br />
Problems that we faced:<br />
* Had little problems setting up our workstation <br />
* Some network problems <br />
Things that we plan to do:<br />
* Work more on UI<br />
* Try if Moodle's options and API are enough to continue<br />
<br />
===Friday - 29.03.13===<br />
Things that we did that day<br />
* Read the documentation about API in Moodle.<br />
* We divided the parts of documentation for reading & we tried to familiarize with the Moodle's API.<br />
* We created and enrolled users in order to put some necessary and specific requirements that our client needs.<br />
* We logged in as admin, teacher, student to make the proper tests to see if our choices work properly.<br />
* We also created a user through our standalone application using Moodle's API and the service.<br />
* We had to test which protocol suits to our project's requirements because we wanted the right one for connecting with the GUI. The best for us is REST.<br />
<br />
Problems that we faced:<br />
* Couldn't login to Moodle with the standalone application (we fixed it).<br />
* A bug since v2.1 in Moodle doesn't record the shortname of the service that the user creates and makes it impossible for the user to log in (we fixed it).<br />
** In table external_services: "shortname" should be the same as "name". <br />
<br />
Things that we plan to do:<br />
* Work on the standalone application.<br />
* To get the standalone application to communicate with Moodle.<br />
* Find a way to get names of all students for this course and their files:<br />
** Get courses of teacher.<br />
** Get groups of course.<br />
** Get students of course.<br />
** Get student's assignments.<br />
** Get assignment files.<br />
* Find the functions to upload and download files.<br />
<br />
===Saturday - 30.03.13===<br />
Cultural Estonia's day<br />
<br />
===Monday - 01.04.13===<br />
Things that we did that day<br />
* Worked on standalone application (implemented the remove functions)<br />
* Worked on Moodle API's connection and functions.<br />
<br />
Problems that we faced:<br />
* BIG PROBLEM - Didn't have any success in implementing functions. <br />
<br />
Things that we plan to do:<br />
* Work on implementing functions to get standalone app communicating with Moodle.<br />
* Work on the standalone application.<br />
* Meet with client to specify his needs.<br />
<br />
===Tuesday - 02.04.13===<br />
Things that we did that day<br />
* Worked on Moodle API's connection and functions.<br />
* Augmenting teacher's application functionality<br />
<br />
Problems that we faced:<br />
* MoodleREST API connection with Moodle.<br />
<br />
Things that we plan to do:<br />
* Try to finalize the connection to Moodle.<br />
<br />
===Wednesday - 03.04.13===<br />
Things that we did that day<br />
* Further functionality in teacher's application and partial connection with MoodleREST API.<br />
* We completed the functions to retrieve data from Moodle through MoodleREST API<br />
* We worked hard till midnight<br />
<br />
Problems that we faced:<br />
* Time<br />
<br />
Things that we plan to do:<br />
* Integrating data retrieving functions in teacher's application<br />
<br />
===Thursday - 04.04.13===<br />
Things that we did that day<br />
* Prepared our presentation<br />
* Nikolaos prepared the demo on client's touchpad<br />
* Sander did some more Java code: getting teacher's students according to courses<br />
* Did the presentation<br />
<br />
Problems that we faced:<br />
* A little stage nerv<br />
* Getting the right student files from Moodle<br />
<br />
Things that we plan to do:<br />
* Finalize our project<br />
<br />
===Friday - 05.04.13===<br />
* Did give feedback to IP<br />
* We did the finalization of the application<br />
* Finalized our wiki<br />
<br />
==Results==<br />
We developed a new system for client, so he can use the touchscreen of his laptop, or use the mouse or even a interactive whiteboard to evaluate and manage all of the students' projects(e.g. Entity Relationship Diagrams), instead of undergoing the time-consuming and chaotic process of hand-evaluation with a pen on a paper. Our solution benefits an organizational structure which promotes efficiency and deduction of supply usage(paper, pen, printer, printer cartridge). <br />
<br />
===Personal Input===<br />
<br />
====Indrek Mitt====<br />
Our first task was to generate ideas how our solution could work. After we decided to use Moodle environment, me and Sander setup our Moodle test environment and with Panagiota create the needed users and courses. Later we did all the needed testing with users and courses. Then after Moodle was set up we studied Moodles API, to help Sander create new functions in Moodle and get his part of the java code right. Also my part was to set up extra meetings with our client. In the last stage of our project I created the skeleton of the presentation, which we finalized together. <br />
<br />
What did I learn:<br />
* different things from lectures <br />
* very valuable group work experience in international group <br />
* very good language practice <br />
* experience in real project with time limit<br />
* learned to know Moodle environment much better <br />
* got to know programming a bit better<br />
<br />
====Sander Saarm====<br />
First I studied Moodle and it's API, read the documentation and then we (with Panagiota and Indrek) created some test users: students and teachers. Then I started to do the code in Java (used REST protocol) and with the little help from Nikolaos I managed to use Moodle API functions to get different information from database for the application Nikolaos did. I had some help also from Panagiota and Indrek finding all the functions and their descriptions. Mart Mangus, our mentor, gave also some help with creating new functions to Moodle API.<br />
<br />
<br />
What did I learn:<br />
* A lot about Moodle and Java implementation<br />
* Using and creating Moodle API's functions<br />
* Getting the information from Moodle's database<br />
* Communication with Moodle services through MoodleRest API<br />
<br />
====Panagiota Chatzi====<br />
<br />
<br />
Firstly we divided the reading of the Moodle documentation into parts and with Indrek and Sander we tried to familiarize with it. We created some users, we enrolled them and we made the proper testings in order to see how Moodle works. We were given specific requirements from our client, so we had to put them into Moodle. When Sander began to do the code, me and Indrek helped him by finding all the functions and their descriptions. I want to thank Mart Mangus, for his precious help. He gave us really useful advices during this project. I want to thank also my colleagues for the efficient team work.<br />
<br />
What have I learnt:<br />
*How to co-operate and work with other people in such intensive projects<br />
*How to behave in front of a client in order to promote a solution<br />
*I began to familiarize with the idea of a presentation in a different language<br />
*This program gave me the chance to see how companies work and broaden my horizons<br />
*I worked with my colleagues on trying to understand APIs<br />
<br />
====Nikolaos Karadimitriou====<br />
<br />
<br />
What did I do to successfully bring our project to a sufficient state(working):<br />
<br />
<br />
At first I suggested the task division into 2 parts and the assignment of them to 2 teams. Following this way the strengths of each team member could be exploited in more sufficient form. <br />
My main goal was to create an easy to use, functional application which comprises the following:<br />
<br />
*1. Communication with Moodle services through MoodleRest API<br />
*2. Retrieval of several data from Moodle system and translate them to usable and understandable graphical interface objects (e.g. Lists of students in a course(Json Structure) => Table Structure (java)) <br />
*3. Image(exercise files, .jpg .bmp .tiff .png) processing and manipulation, in order to evaluate ER-Diagrams. <br />
*4. Correcting marks. Comments. New tables etc. On screen.<br />
*5. Student management and grading frames communicating with Moodle services.<br />
*6. On screen image processing with functional interactive buttons and features.<br />
*7. Touch screen usability.<br />
*8. Application’s capability in working with interactive whiteboards.<br />
*9. The application was implemented in Java and Processing programming language.<br />
<br />
*My secondary part in the project was to coordinate the project’s process and give advice to all the members of the project.<br />
<br />
<br />
<br />
Knowledge and Skills I've acquired:<br />
<br />
*The most beneficial experience I’ve gained was the teamwork and cooperation with international students, and of course a sufficient and concrete knowledge on presentation methods and methodology in general. I believe some substantial skills, in coordinating and task assigning group members were also acquired. <br />
<br />
*Also in the programming domain, I’ve gained a useful amount of skills regarding image manipulation and touchscreen usable graphical interfaces as well as API integration to custom systems.<br />
<br />
*One thing also worth mentioning is the familiarization with different cultures and languages.<br />
<br />
===Final documentation===<br />
====Analysis====<br />
{|<br />
|[[File:analysis.png|400px|thumb|left|Current Evaluation Process Analysis]]<br />
| <br />
|[[File:Solution.png|400px|thumb|left|Analysis of The Task and System Implementation]]<br />
|}<br />
<br />
===Solution===<br />
====Creation Of Teacher's touchscreen-compatible local application to manage, evaluate and communicate with students:====<br />
<br />
<br />
<br />
{|<br />
|[[Link For Video Demo Here.]]<br />
|}<br />
<br />
{|<br />
|[[Source Code.]]<br />
|}<br />
<br />
====Changes in Moodle environment:====<br />
<br />
===== Part one =====<br />
Go to:<br />
<br />
Site administration->Advanced features-> Plugins->Web services ->External services-><br />
<br />
Add :<br />
<br />
<br />
1)Add new external service<br />
<br />
2)To new external service add functions: <br />
<br />
*core_course_get_courses (Get the list of courses where a user is enrolled in)<br />
*core_enrol_get_users_courses (core_enrol_get_users_courses)<br />
*core_enrol_get_enrolled_users (Get enrolled users by course id.)<br />
*core_files_get_files (browse moodle files)<br />
*core_files_upload (upload a file to moodle) <br />
These functions need to be crated before they can be added:<br />
*core_get_files_by_userid (Returns files by user id)<br />
*core_get_id_by_token (Returns id by token)<br />
<br />
3)For new external service add -> Authorised users<br />
{| <br />
[[File:Moodle_Extetrnal_services.png|400px|thumb|left|Moodle external services]]<br />
|}<br />
<br />
==IP Feedback==<br />
===Indrek Mitt's feedback===<br />
I liked the IP and I think that the organisation side was very good. You always knew what will happen next. Very good international teamwork experience. Lectures were interesting as well. Choice of cafeteria was very good. The majority of teamwork topics were in my opinion to much programmer based. No networking projects! Social events helped to get to know everybody better.<br />
<br />
===Sander Saarm's feedback===<br />
* I liked the internationality in this course, because I found out so many friendly people from other countries (Lithuania, Greece and Finland). We had our good and bad times during these two weeks.<br />
* I'm glad we also had different cultural activities. I had never been to TV Tower since the restoring and also the Plane Harbour was new and very interesting to me.<br />
* I actually think we could have had a little more time to finish our project 100%, but we have made 90% in my oppinion, so it's pretty great.<br />
<br />
===Panagiota Chatzi's feedback===<br />
I liked this and that.<br />
<br />
===Nikolaos Karadimitriou's feedback===<br />
Very interesting project-completion oriented program. Stress everyone's skills to the limits and in most times it successfully expands them and new skills and knowledge is retrieved.</div>Imitthttps://wiki.itcollege.ee/index.php?title=ET&diff=62456ET2013-04-05T12:00:36Z<p>Imitt: /* Part one */</p>
<hr />
<div>Team page for [[ET]].<br />
<br />
===Members===<br />
* Indrek Mitt, IT College<br />
* Sander Saarm, IT College<br />
* Panagiota Chatzi, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
* Nikolaos Karadimitriou, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
<br />
<br />
===Goal===<br />
*Create an application for our client that is very effective and user friendly. <br />
*A familiar environment for students to upload their exercises.<br />
*In general, to augment E-Learning Environments and facilitate students' exercises evaluation by using our application.<br />
<br />
==Activity==<br />
===Monday - 25.03.13===<br />
Things that we did that day<br />
* Learned about documentation and data mining<br />
* Programmed sumo robots<br />
* Got to know our team at welcome dinner in St. Patrick's<br />
<br />
===Tuesday - 26.03.13===<br />
Things that we did that day<br />
* Talked about our case and made sure everybody is on the same page<br />
* Put together a list of questions for our client<br />
* Thought of different solutions for our project <br />
* Seperated tasks between team members<br />
<br />
Problems that we faced:<br />
* We didn't have enough information about our case<br />
* We wanted to use Moodle, but we didn't know if it's suitable for our project<br />
<br />
Things that we plan to do:<br />
* Ask our mentor if Moodle environment suitable for our project<br />
* Prepared to speak to our client Priit Raspel<br />
<br />
===Wednesday - 27.03.13===<br />
Things that we did that day<br />
* Spoke to our clent Priit Raspel.<br />
* Learned about Moodle and installed it.<br />
<br />
Problems that we faced:<br />
* We couldn't access installed Moodle on Sander's computer.<br />
* We needed a laptop with touchscreen.<br />
<br />
Questions and answers from client (consultation)<br />
* The client explained his visions on the project, that were quite similar to our vision. So we didn't have many questions.<br />
* Mostly we talked about the user interface on the teacher's side. We got to know his exact requirements.<br />
* We got telefon numbers of our client and our mentor for further questions.<br />
* We asked about Moodle and it's API from our mentor Mart Mangus.<br />
* We asked for client's touchscreen laptop for two weeks' testings and we got it.<br />
<br />
Things that what we plan to do:<br />
* Need to get a wireless router form Indrek Rokk for our own network to access installed Moodle.<br />
* Get to know Moodle's API.<br />
* Creating user interface.<br />
<br />
===Thursday - 28.03.13===<br />
Things that we did that day<br />
* Had lecture about Innovation<br />
* Studied Moodle documentation<br />
* Set up our Moodle test environment<br />
* Created test course and users<br />
* Checked if Moodle has needed options for our client's specific needs<br />
* Nikolaos is programming the UI<br />
Problems that we faced:<br />
* Had little problems setting up our workstation <br />
* Some network problems <br />
Things that we plan to do:<br />
* Work more on UI<br />
* Try if Moodle's options and API are enough to continue<br />
<br />
===Friday - 29.03.13===<br />
Things that we did that day<br />
* Read the documentation about API in Moodle.<br />
* We divided the parts of documentation for reading & we tried to familiarize with the Moodle's API.<br />
* We created and enrolled users in order to put some necessary and specific requirements that our client needs.<br />
* We logged in as admin, teacher, student to make the proper tests to see if our choices work properly.<br />
* We also created a user through our standalone application using Moodle's API and the service.<br />
* We had to test which protocol suits to our project's requirements because we wanted the right one for connecting with the GUI. The best for us is REST.<br />
<br />
Problems that we faced:<br />
* Couldn't login to Moodle with the standalone application (we fixed it).<br />
* A bug since v2.1 in Moodle doesn't record the shortname of the service that the user creates and makes it impossible for the user to log in (we fixed it).<br />
** In table external_services: "shortname" should be the same as "name". <br />
<br />
Things that we plan to do:<br />
* Work on the standalone application.<br />
* To get the standalone application to communicate with Moodle.<br />
* Find a way to get names of all students for this course and their files:<br />
** Get courses of teacher.<br />
** Get groups of course.<br />
** Get students of course.<br />
** Get student's assignments.<br />
** Get assignment files.<br />
* Find the functions to upload and download files.<br />
<br />
===Saturday - 30.03.13===<br />
Cultural Estonia's day<br />
<br />
===Monday - 01.04.13===<br />
Things that we did that day<br />
* Worked on standalone application (implemented the remove functions)<br />
* Worked on Moodle API's connection and functions.<br />
<br />
Problems that we faced:<br />
* BIG PROBLEM - Didn't have any success in implementing functions. <br />
<br />
Things that we plan to do:<br />
* Work on implementing functions to get standalone app communicating with Moodle.<br />
* Work on the standalone application.<br />
* Meet with client to specify his needs.<br />
<br />
===Tuesday - 02.04.13===<br />
Things that we did that day<br />
* Worked on Moodle API's connection and functions.<br />
* Augmenting teacher's application functionality<br />
<br />
Problems that we faced:<br />
* MoodleREST API connection with Moodle.<br />
<br />
Things that we plan to do:<br />
* Try to finalize the connection to Moodle.<br />
<br />
===Wednesday - 03.04.13===<br />
Things that we did that day<br />
* Further functionality in teacher's application and partial connection with MoodleREST API.<br />
* We completed the functions to retrieve data from Moodle through MoodleREST API<br />
* We worked hard till midnight<br />
<br />
Problems that we faced:<br />
* Time<br />
<br />
Things that we plan to do:<br />
* Integrating data retrieving functions in teacher's application<br />
<br />
===Thursday - 04.04.13===<br />
Things that we did that day<br />
* Prepared our presentation<br />
* Nikolaos prepared the demo on client's touchpad<br />
* Sander did some more Java code: getting teacher's students according to courses<br />
* Did the presentation<br />
<br />
Problems that we faced:<br />
* A little stage nerv<br />
* Getting the right student files from Moodle<br />
<br />
Things that we plan to do:<br />
* Finalize our project<br />
<br />
===Friday - 05.04.13===<br />
* Did give feedback to IP<br />
* We did the finalization of the application<br />
* Finalized our wiki<br />
<br />
==Results==<br />
We developed a new system for client, so he can use the touchscreen of his laptop, or use the mouse or even a interactive whiteboard to evaluate and manage all of the students' projects(e.g. Entity Relationship Diagrams), instead of undergoing the time-consuming and chaotic process of hand-evaluation with a pen on a paper. Our solution benefits an organizational structure which promotes efficiency and deduction of supply usage(paper, pen, printer, printer cartridge). <br />
<br />
===Personal Input===<br />
<br />
====Indrek Mitt====<br />
Our first task was to generate ideas how our solution could work. After we decided to use Moodle environment, me and Sander setup our Moodle test environment and with Panagiota create the needed users and courses. Later we did all the needed testing with users and courses. Then after Moodle was set up we studied Moodles API, to help Sander create new functions in Moodle and get his part of the java code right. Also my part was to set up extra meetings with our client. In the last stage of our project I created the skeleton of the presentation, which we finalized together. <br />
<br />
What did I learn:<br />
* different things from lectures <br />
* very valuable group work experience in international group <br />
* very good language practice <br />
* experience in real project with time limit<br />
* learned to know Moodle environment much better <br />
* got to know programming a bit better<br />
<br />
====Sander Saarm====<br />
First I studied Moodle and it's API, read the documentation and then we (with Panagiota and Indrek) created some test users: students and teachers. Then I started to do the code in Java (used REST protocol) and with the little help from Nikolaos I managed to use Moodle API functions to get different information from database for the application Nikolaos did. I had some help also from Panagiota and Indrek finding all the functions and their descriptions. Mart Mangus, our mentor, gave also some help with creating new functions to Moodle API.<br />
<br />
<br />
What did I learn:<br />
* A lot about Moodle and Java implementation<br />
* Using and creating Moodle API's functions<br />
* Getting the information from Moodle's database<br />
* Communication with Moodle services through MoodleRest API<br />
<br />
====Panagiota Chatzi====<br />
<br />
<br />
Firstly we divided the reading of the Moodle documentation into parts and with Indrek and Sander we tried to familiarize with it. We created some users, we enrolled them and we made the proper testings in order to see how Moodle works. We were given specific requirements from our client, so we had to put them into Moodle. When Sander began to do the code, me and Indrek helped him by finding all the functions and their descriptions. I want to thank Mart Mangus, for his precious help. He gave us really useful advices during this project. I want to thank also my colleagues for the efficient team work.<br />
<br />
What have I learnt:<br />
*How to co-operate and work with other people in such intensive projects<br />
*How to behave in front of a client in order to promote a solution<br />
*I began to familiarize with the idea of a presentation in a different language<br />
*This program gave me the chance to see how companies work and broaden my horizons<br />
*I worked with my colleagues on trying to understand APIs<br />
<br />
====Nikolaos Karadimitriou====<br />
<br />
<br />
What did I do to successfully bring our project to a sufficient state(working):<br />
<br />
<br />
At first I suggested the task division into 2 parts and the assignment of them to 2 teams. Following this way the strengths of each team member could be exploited in more sufficient form. <br />
My main goal was to create an easy to use, functional application which comprises the following:<br />
<br />
*1. Communication with Moodle services through MoodleRest API<br />
*2. Retrieval of several data from Moodle system and translate them to usable and understandable graphical interface objects (e.g. Lists of students in a course(Json Structure) => Table Structure (java)) <br />
*3. Image(exercise files, .jpg .bmp .tiff .png) processing and manipulation, in order to evaluate ER-Diagrams. <br />
*4. Correcting marks. Comments. New tables etc. On screen.<br />
*5. Student management and grading frames communicating with Moodle services.<br />
*6. On screen image processing with functional interactive buttons and features.<br />
*7. Touch screen usability.<br />
*8. Application’s capability in working with interactive whiteboards.<br />
*9. The application was implemented in Java and Processing programming language.<br />
<br />
*My secondary part in the project was to coordinate the project’s process and give advice to all the members of the project.<br />
<br />
<br />
<br />
Knowledge and Skills I've acquired:<br />
<br />
*The most beneficial experience I’ve gained was the teamwork and cooperation with international students, and of course a sufficient and concrete knowledge on presentation methods and methodology in general. I believe some substantial skills, in coordinating and task assigning group members were also acquired. <br />
<br />
*Also in the programming domain, I’ve gained a useful amount of skills regarding image manipulation and touchscreen usable graphical interfaces as well as API integration to custom systems.<br />
<br />
*One thing also worth mentioning is the familiarization with different cultures and languages.<br />
<br />
===Final documentation===<br />
====Analysis====<br />
{|<br />
|[[File:analysis.png|400px|thumb|left|Current Evaluation Process Analysis]]<br />
| <br />
|[[File:Solution.png|400px|thumb|left|Analysis of The Task and System Implementation]]<br />
|}<br />
<br />
===Solution===<br />
====Creation Of Teacher's touchscreen-compatible local application to manage, evaluate and communicate with students:====<br />
<br />
<br />
<br />
{|<br />
|[[Link For Video Demo Here.]]<br />
|}<br />
<br />
{|<br />
|[[Source Code.]]<br />
|}<br />
<br />
====Changes in Moodle environment:====<br />
<br />
===== Part one =====<br />
Go to:<br />
<br />
Site administration->Advanced features-> Plugins->Web services ->External services-><br />
<br />
Add :<br />
<br />
<br />
1)Add new external service<br />
<br />
2)To new external service add functions: <br />
<br />
*core_course_get_courses (Get the list of courses where a user is enrolled in)<br />
*core_enrol_get_users_courses (core_enrol_get_users_courses)<br />
*core_enrol_get_enrolled_users (Get enrolled users by course id.)<br />
*core_files_get_files (browse moodle files)<br />
*core_files_upload (upload a file to moodle) <br />
These functions need to be crated before they can be added:<br />
*core_get_files_by_userid (Returns files by user id)<br />
*core_get_id_by_token (Returns id by token)<br />
<br />
3)For new external service add -> Authorised users<br />
{| <br />
[[File:Moodle_Extetrnal_services.png|400px|thumb|left|Moodle external services]]<br />
|}<br />
<br />
=====Part two=====<br />
Create new functions:<br />
<br />
==IP Feedback==<br />
===Indrek Mitt's feedback===<br />
I liked the IP and I think that the organisation side was very good. You always knew what will happen next. Very good international teamwork experience. Lectures were interesting as well. Choice of cafeteria was very good. The majority of teamwork topics were in my opinion to much programmer based. No networking projects! Social events helped to get to know everybody better.<br />
<br />
===Sander Saarm's feedback===<br />
* I liked the internationality in this course, because I found out so many friendly people from other countries (Lithuania, Greece and Finland). We had our good and bad times during these two weeks.<br />
* I'm glad we also had different cultural activities. I had never been to TV Tower since the restoring and also the Plane Harbour was new and very interesting to me.<br />
* I actually think we could have had a little more time to finish our project 100%, but we have made 90% in my oppinion, so it's pretty great.<br />
<br />
===Panagiota Chatzi's feedback===<br />
I liked this and that.<br />
<br />
===Nikolaos Karadimitriou's feedback===<br />
Very interesting project-completion oriented program. Stress everyone's skills to the limits and in most times it successfully expands them and new skills and knowledge is retrieved.</div>Imitthttps://wiki.itcollege.ee/index.php?title=ET&diff=62455ET2013-04-05T12:00:06Z<p>Imitt: /* Part one */</p>
<hr />
<div>Team page for [[ET]].<br />
<br />
===Members===<br />
* Indrek Mitt, IT College<br />
* Sander Saarm, IT College<br />
* Panagiota Chatzi, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
* Nikolaos Karadimitriou, T.E.I. of Crete, Department Of Applied Informatics And Multimedia<br />
<br />
<br />
===Goal===<br />
*Create an application for our client that is very effective and user friendly. <br />
*A familiar environment for students to upload their exercises.<br />
*In general, to augment E-Learning Environments and facilitate students' exercises evaluation by using our application.<br />
<br />
==Activity==<br />
===Monday - 25.03.13===<br />
Things that we did that day<br />
* Learned about documentation and data mining<br />
* Programmed sumo robots<br />
* Got to know our team at welcome dinner in St. Patrick's<br />
<br />
===Tuesday - 26.03.13===<br />
Things that we did that day<br />
* Talked about our case and made sure everybody is on the same page<br />
* Put together a list of questions for our client<br />
* Thought of different solutions for our project <br />
* Seperated tasks between team members<br />
<br />
Problems that we faced:<br />
* We didn't have enough information about our case<br />
* We wanted to use Moodle, but we didn't know if it's suitable for our project<br />
<br />
Things that we plan to do:<br />
* Ask our mentor if Moodle environment suitable for our project<br />
* Prepared to speak to our client Priit Raspel<br />
<br />
===Wednesday - 27.03.13===<br />
Things that we did that day<br />
* Spoke to our clent Priit Raspel.<br />
* Learned about Moodle and installed it.<br />
<br />
Problems that we faced:<br />
* We couldn't access installed Moodle on Sander's computer.<br />
* We needed a laptop with touchscreen.<br />
<br />
Questions and answers from client (consultation)<br />
* The client explained his visions on the project, that were quite similar to our vision. So we didn't have many questions.<br />
* Mostly we talked about the user interface on the teacher's side. We got to know his exact requirements.<br />
* We got telefon numbers of our client and our mentor for further questions.<br />
* We asked about Moodle and it's API from our mentor Mart Mangus.<br />
* We asked for client's touchscreen laptop for two weeks' testings and we got it.<br />
<br />
Things that what we plan to do:<br />
* Need to get a wireless router form Indrek Rokk for our own network to access installed Moodle.<br />
* Get to know Moodle's API.<br />
* Creating user interface.<br />
<br />
===Thursday - 28.03.13===<br />
Things that we did that day<br />
* Had lecture about Innovation<br />
* Studied Moodle documentation<br />
* Set up our Moodle test environment<br />
* Created test course and users<br />
* Checked if Moodle has needed options for our client's specific needs<br />
* Nikolaos is programming the UI<br />
Problems that we faced:<br />
* Had little problems setting up our workstation <br />
* Some network problems <br />
Things that we plan to do:<br />
* Work more on UI<br />
* Try if Moodle's options and API are enough to continue<br />
<br />
===Friday - 29.03.13===<br />
Things that we did that day<br />
* Read the documentation about API in Moodle.<br />
* We divided the parts of documentation for reading & we tried to familiarize with the Moodle's API.<br />
* We created and enrolled users in order to put some necessary and specific requirements that our client needs.<br />
* We logged in as admin, teacher, student to make the proper tests to see if our choices work properly.<br />
* We also created a user through our standalone application using Moodle's API and the service.<br />
* We had to test which protocol suits to our project's requirements because we wanted the right one for connecting with the GUI. The best for us is REST.<br />
<br />
Problems that we faced:<br />
* Couldn't login to Moodle with the standalone application (we fixed it).<br />
* A bug since v2.1 in Moodle doesn't record the shortname of the service that the user creates and makes it impossible for the user to log in (we fixed it).<br />
** In table external_services: "shortname" should be the same as "name". <br />
<br />
Things that we plan to do:<br />
* Work on the standalone application.<br />
* To get the standalone application to communicate with Moodle.<br />
* Find a way to get names of all students for this course and their files:<br />
** Get courses of teacher.<br />
** Get groups of course.<br />
** Get students of course.<br />
** Get student's assignments.<br />
** Get assignment files.<br />
* Find the functions to upload and download files.<br />
<br />
===Saturday - 30.03.13===<br />
Cultural Estonia's day<br />
<br />
===Monday - 01.04.13===<br />
Things that we did that day<br />
* Worked on standalone application (implemented the remove functions)<br />
* Worked on Moodle API's connection and functions.<br />
<br />
Problems that we faced:<br />
* BIG PROBLEM - Didn't have any success in implementing functions. <br />
<br />
Things that we plan to do:<br />
* Work on implementing functions to get standalone app communicating with Moodle.<br />
* Work on the standalone application.<br />
* Meet with client to specify his needs.<br />
<br />
===Tuesday - 02.04.13===<br />
Things that we did that day<br />
* Worked on Moodle API's connection and functions.<br />
* Augmenting teacher's application functionality<br />
<br />
Problems that we faced:<br />
* MoodleREST API connection with Moodle.<br />
<br />
Things that we plan to do:<br />
* Try to finalize the connection to Moodle.<br />
<br />
===Wednesday - 03.04.13===<br />
Things that we did that day<br />
* Further functionality in teacher's application and partial connection with MoodleREST API.<br />
* We completed the functions to retrieve data from Moodle through MoodleREST API<br />
* We worked hard till midnight<br />
<br />
Problems that we faced:<br />
* Time<br />
<br />
Things that we plan to do:<br />
* Integrating data retrieving functions in teacher's application<br />
<br />
===Thursday - 04.04.13===<br />
Things that we did that day<br />
* Prepared our presentation<br />
* Nikolaos prepared the demo on client's touchpad<br />
* Sander did some more Java code: getting teacher's students according to courses<br />
* Did the presentation<br />
<br />
Problems that we faced:<br />
* A little stage nerv<br />
* Getting the right student files from Moodle<br />
<br />
Things that we plan to do:<br />
* Finalize our project<br />
<br />
===Friday - 05.04.13===<br />
* Did give feedback to IP<br />
* We did the finalization of the application<br />
* Finalized our wiki<br />
<br />
==Results==<br />
We developed a new system for client, so he can use the touchscreen of his laptop, or use the mouse or even a interactive whiteboard to evaluate and manage all of the students' projects(e.g. Entity Relationship Diagrams), instead of undergoing the time-consuming and chaotic process of hand-evaluation with a pen on a paper. Our solution benefits an organizational structure which promotes efficiency and deduction of supply usage(paper, pen, printer, printer cartridge). <br />
<br />
===Personal Input===<br />
<br />
====Indrek Mitt====<br />
Our first task was to generate ideas how our solution could work. After we decided to use Moodle environment, me and Sander setup our Moodle test environment and with Panagiota create the needed users and courses. Later we did all the needed testing with users and courses. Then after Moodle was set up we studied Moodles API, to help Sander create new functions in Moodle and get his part of the java code right. Also my part was to set up extra meetings with our client. In the last stage of our project I created the skeleton of the presentation, which we finalized together. <br />
<br />
What did I learn:<br />
* different things from lectures <br />
* very valuable group work experience in international group <br />
* very good language practice <br />
* experience in real project with time limit<br />
* learned to know Moodle environment much better <br />
* got to know programming a bit better<br />
<br />
====Sander Saarm====<br />
First I studied Moodle and it's API, read the documentation and then we (with Panagiota and Indrek) created some test users: students and teachers. Then I started to do the code in Java (used REST protocol) and with the little help from Nikolaos I managed to use Moodle API functions to get different information from database for the application Nikolaos did. I had some help also from Panagiota and Indrek finding all the functions and their descriptions. Mart Mangus, our mentor, gave also some help with creating new functions to Moodle API.<br />
<br />
<br />
What did I learn:<br />
* A lot about Moodle and Java implementation<br />
* Using and creating Moodle API's functions<br />
* Getting the information from Moodle's database<br />
* Communication with Moodle services through MoodleRest API<br />
<br />
====Panagiota Chatzi====<br />
<br />
<br />
Firstly we divided the reading of the Moodle documentation into parts and with Indrek and Sander we tried to familiarize with it. We created some users, we enrolled them and we made the proper testings in order to see how Moodle works. We were given specific requirements from our client, so we had to put them into Moodle. When Sander began to do the code, me and Indrek helped him by finding all the functions and their descriptions. I want to thank Mart Mangus, for his precious help. He gave us really useful advices during this project. I want to thank also my colleagues for the efficient team work.<br />
<br />
What have I learnt:<br />
*How to co-operate and work with other people in such intensive projects<br />
*How to behave in front of a client in order to promote a solution<br />
*I began to familiarize with the idea of a presentation in a different language<br />
*This program gave me the chance to see how companies work and broaden my horizons<br />
*I worked with my colleagues on trying to understand APIs<br />
<br />
====Nikolaos Karadimitriou====<br />
<br />
<br />
What did I do to successfully bring our project to a sufficient state(working):<br />
<br />
<br />
At first I suggested the task division into 2 parts and the assignment of them to 2 teams. Following this way the strengths of each team member could be exploited in more sufficient form. <br />
My main goal was to create an easy to use, functional application which comprises the following:<br />
<br />
*1. Communication with Moodle services through MoodleRest API<br />
*2. Retrieval of several data from Moodle system and translate them to usable and understandable graphical interface objects (e.g. Lists of students in a course(Json Structure) => Table Structure (java)) <br />
*3. Image(exercise files, .jpg .bmp .tiff .png) processing and manipulation, in order to evaluate ER-Diagrams. <br />
*4. Correcting marks. Comments. New tables etc. On screen.<br />
*5. Student management and grading frames communicating with Moodle services.<br />
*6. On screen image processing with functional interactive buttons and features.<br />
*7. Touch screen usability.<br />
*8. Application’s capability in working with interactive whiteboards.<br />
*9. The application was implemented in Java and Processing programming language.<br />
<br />
*My secondary part in the project was to coordinate the project’s process and give advice to all the members of the project.<br />
<br />
<br />
<br />
Knowledge and Skills I've acquired:<br />
<br />
*The most beneficial experience I’ve gained was the teamwork and cooperation with international students, and of course a sufficient and concrete knowledge on presentation methods and methodology in general. I believe some substantial skills, in coordinating and task assigning group members were also acquired. <br />
<br />
*Also in the programming domain, I’ve gained a useful amount of skills regarding image manipulation and touchscreen usable graphical interfaces as well as API integration to custom systems.<br />
<br />
*One thing also worth mentioning is the familiarization with different cultures and languages.<br />
<br />
===Final documentation===<br />
====Analysis====<br />
{|<br />
|[[File:analysis.png|400px|thumb|left|Current Evaluation Process Analysis]]<br />
| <br />
|[[File:Solution.png|400px|thumb|left|Analysis of The Task and System Implementation]]<br />
|}<br />
<br />
===Solution===<br />
====Creation Of Teacher's touchscreen-compatible local application to manage, evaluate and communicate with students:====<br />
<br />
<br />
<br />
{|<br />
|[[Link For Video Demo Here.]]<br />
|}<br />
<br />
{|<br />
|[[Source Code.]]<br />
|}<br />
<br />
====Changes in Moodle environment:====<br />
<br />
===== Part one =====<br />
Go to:<br />
<br />
Site administration->Advanced features-> Plugins->Web services ->External services-><br />
<br />
Add :<br />
<br />
<br />
1)Add new external service<br />
<br />
2)To new external service add functions: <br />
<br />
*core_course_get_courses (Get the list of courses where a user is enrolled in)<br />
*core_enrol_get_users_courses (core_enrol_get_users_courses)<br />
*core_enrol_get_enrolled_users (Get enrolled users by course id.)<br />
*core_files_get_files (browse moodle files)<br />
*core_files_upload (upload a file to moodle) <br />
These functions need to be crated before they can be added:<br />
*core_get_files_by_userid (Returns files by user id)<br />
*core_get_id_by_token (Returns id by token)<br />
<br />
3)For new external service add -> Authorised users<br />
{|<br />
<br />
[[File:Moodle_Extetrnal_services.png|400px|thumb|left|Moodle external services]]<br />
|}<br />
<br />
=====Part two=====<br />
Create new functions:<br />
<br />
==IP Feedback==<br />
===Indrek Mitt's feedback===<br />
I liked the IP and I think that the organisation side was very good. You always knew what will happen next. Very good international teamwork experience. Lectures were interesting as well. Choice of cafeteria was very good. The majority of teamwork topics were in my opinion to much programmer based. No networking projects! Social events helped to get to know everybody better.<br />
<br />
===Sander Saarm's feedback===<br />
* I liked the internationality in this course, because I found out so many friendly people from other countries (Lithuania, Greece and Finland). We had our good and bad times during these two weeks.<br />
* I'm glad we also had different cultural activities. I had never been to TV Tower since the restoring and also the Plane Harbour was new and very interesting to me.<br />
* I actually think we could have had a little more time to finish our project 100%, but we have made 90% in my oppinion, so it's pretty great.<br />
<br />
===Panagiota Chatzi's feedback===<br />
I liked this and that.<br />
<br />
===Nikolaos Karadimitriou's feedback===<br />
Very interesting project-completion oriented program. Stress everyone's skills to the limits and in most times it successfully expands them and new skills and knowledge is retrieved.</div>Imitt