Aikataulu – Palvelinten hallinta ict4tn022-1 – 5 op, uusi OPS – loppusyksy 2016

Hallitse palvelimiasi Pupetilla. Pupettia käyttävät esimerkiksi Google, Mozilla ja Wikipedia. Sillä on toteutettu myös US Government Security Baseline hallinnon Linux ja Windows -tietokoneisiin.

Tämä on uuden opetussuunnitelman, 5 opintopisteen kurssi.

Alustava aikataulu

Opetus labrassa 5004 maanantaisin 12:00-14:45 ja torstaisin 09:00-11:45. Kurssi kestää 5. periodin eli 2016 loppusyksyn, viikot w43 – w50. Yhteensä 16 tapaamiskertaa 8 viikon aikana.

Tämän edistyneen kurssin aikataulu on alustava, ja se muuttuu vielä kurssin aikana.

w34 Hello Puppet

ma Järjestäytyminen, nykytilan arviointi. Suppea katsaus työkaluihin. Hello Puppet. One line puppet. Modulit. Package-file-service.

to Orjien ohjaaminen verkon yli. Git versionhallinta.

Osaat konfiguroida orjille palvelimia, verkon yli.

w44. Pupetin resursseja ja rakenteita

ma. Muotit ja faktat. Määritellyt tyypit.

to. Puppetin kertaus ja esimerkkimodulin teko. Omien miniprojektien käynnistys. Package-File-Service. Exec, User, Group.

Osaat konfiguroida Pupetilla palvelimia tavallisissa tilanteissa.

Eri työkaluja

w45 Provisiointi

ma Verkkobootti, DHCP+PXE

to Verkkobootti, DHCP+PXE

w46 Kilpailevia keskitettyjä hallintajärjestelmiä

ma Salt, chef tms. kilpaileva nykyaikainen työkalu.

to Salt, chef tms. kilpaileva nykyaikainen työkalu.

w47 Eri käyttöjärjestelmien hallinta

ma Eri käyttöjärjestemiä

to Eri käyttöjärjestemiä

w48

ma Kertaus

to Kertaus

w49 Oman modulin viimeistelyä

ma Oman modulin viimeistelyä

to Oman modulin viimeistelyä

w50 Loppuhuipennus

ma Omien modulien esittely I

to Omien modulien esittely II

Osaamistavoitteet

Opintojakson suoritettuaan opiskelija:

- Osaa hallinnoida useita palvelimia keskitetysti
- Pystyy kuvailemaan palvelinten tavoitetilan hallintajärjestelmän ymmärtämällä tavalla
- Osaa versioida alustat toistettavalla tavalla

Arviointiperusteet

- Kotitehtävät 50 %
- Oma moduuli 50 %

Ohjaus

Kotitehtävistä annetaan palaute jokaisen opetuskerran alussa.

Opetuksessa teoria ja harjoitus vuorottelevat. Tero opettaa teorian kertomalla siitä jonkin käytännön esimerkin avulla koneella. Opiskelijat kokeilevat tätä käytännön harjoituksessa, Tero kiertää kommentoimassa ja opastamassa vaikeiden kohtien yli.

Palautetta

Palautteesi on todella arvokasta – se on tärkein tapa kehittää kurssia. Jotta saamme palautteellesi suurimman mahdollisen yleisön, palautetta kerätään kahteen paikkaan

1) Numeerinen palaute Haaga-Helian e-lomakkeelle

2) Vapaamuotoinen palaute tämän kurssisivun perään kommenttina

Mitä vain saa kirjoittaa, eikä kysymyksiä tarvitse toistaa. Tässä muutama idea, mihin kaipaisimme kommentteja

  • Opitko kurssilla jotakin? Eli osaatko nyt jotain, mitä et osannut ennen kurssia?
  • Onko kurssin sisältö hyödyllinen sinulle?
  • Missä aiot hyödyntää kurssilla opittuja taitoja?
  • Mikä oli parasta kurssilla?
  • Mitä voisi vielä kehittää?
  • Mitä mieltä oli esityspäivästä?
  • Suosittelisitko kurssia? Kenelle (kollegoille, opiskelutovereille…)?

Kiitos!

Linkkejä

Kurssin kuvaus opinto-oppaassa – Palvelinten hallinta ict4tn022

Moodle – Palvelinten hallinta 1 (edellyttää kirjautumista)

Salt, chef tms. kilpaileva nykyaikainen työkalu.
Posted in Uncategorized | Tagged , , , , , , , , | 115 Comments

115 Responses to Aikataulu – Palvelinten hallinta ict4tn022-1 – 5 op, uusi OPS – loppusyksy 2016

  1. Mika Selvinen says:

    Opitko kurssilla jotakin? Eli osaatko nyt jotain, mitä et osannut ennen kurssia?

    Uusia opittuja asioita: Puppet, Herra/Orja, PXE ja parempi käsitys keskitetystä hallinnasta.

    Onko kurssin sisältö hyödyllinen sinulle?

    On, mielestäni se jatkaa fiksusti edellisen kurssin (Linux palvelimet ict4tn021-1) aihetta ja syventää sitä mm. jo opittujen asioiden automatisoinnilla. Missään vaiheessa ei tullut ns. raja vastaan että oltasiin menty liian vaikeaan tai kerrattu vain aikasempaa kurssia, jolloin fiilis olisi ollut “tämä on turhaa”. Kumpaakaan fiilistä en itse kokenut.

    Missä aiot hyödyntää kurssilla opittuja taitoja?

    Aioin jatkaa kamera moduulia sekä puppetin käyttöä – lisäksi tarkoitus olisi käyttää PXEtä. Lisäksi Git tulee olemaan kovassa käytössä.

    Mikä oli parasta kurssilla?

    Oppimisen ja onnistumisen tunne. Mielestäni on siistiä, kun itse tajuaa sen “hei mä ymmärrän ja osaan”. Lisäksi sekä kotona ja koulussa on istunut ja miettinyt iän ikuista “miksi tää ei toimi?” ja lopulta keksinyt, se onnistumisen tunne on joka kerta erittäin hieno. Muutenkin koulussa välillä tuntuu, että asioita vain kerrataan tai ei uskalleta opettaa, tällä kurssilla tietää saaneensa uutta tietoa.
    Bonuksena on ollut se, että kurssi ohjelmaa ei ole seurattu orjallisesti vaan, mikäli on tullut asioita jotka voisi/tulisi/pitää käydä läpi, ne on käyty. Tästä on saatu enemmän hyötyä irti vrt. perinteiseen “ei oo aikaa selittää tätä tärkeetä juttua, joka teidän pitäisi tietää”.

    Mitä voisi vielä kehittää?

    Kun verrataan kurssia aikaisempaan 8h per päivä toteutustyyliin, jos ei ole mahdollista samaan järjestelyyn niin tämän kurssin 3+3h toteutuksen voisi hoitaa seuraavanlaisesti.

    Ma – Läksyjen tarkistus ja uuden aiheen pohjustusta/vanhan aiheen lisäinfoa, sen mukaan miten aikaa on jäänyt läksyistä.
    To – Pelkästään uutta aihetta ja viikon läksyt.

    Nyt kurssilla kävi valitettavasti niin, että joko läksyjen tarkistukseen tai uuteen aiheeseen ei riittänyt aika. Jommasta kummasta jouduttiin karsimaan, hyvänä esimerkkinä vhost.

    Ylläoleva ma ja to ehdotuksen idea on se, että aina torstaisin opettaja voisi ns. “paahtaa täysillä” uutta aihetta sen 3h ja pyrkiä varmistamaan, että saa tarpeeksi hyvin näytettyä ja selitettyä aihetta oppilaille. Maanantaina olisi sitten se 3h aikaa tarkistaa läksyjä ja mikäli aikaa jäisi, voisi joko vastailla/näyttää miten ongelmat ratkaistaan ja jne. tai siirtyä uuden aiheen pohjustukseen – teoria ja käytäntö.

    Tarkoitus tällä kehitysidealla ei ole vähentää läksyjä vaan parantaa oppimiskokemusta. Kun vertaan tätä 3+3h versiota 8h kurssiin – opettajalla tuli aina kiire jompaan kumpaan suuntaan. Samalla mielestäni jos toinen kerta on kokonaan uusi aihe, niin läksykin voi olla 8h tuntien laajuinen. Kun esim. 8hssa ei kokoaikaa ollut pelkkää uutta aihetta. Koko päivän linuxissa kuitenkin kerkeää rauhassa näyttää asiat kunnolla.

    Oman moduulin tekemiseen olisin toivonut enemmän ohjausta/status kyselyä. Nyt tilanne oli se, että jokainen tiesi että sellainen pitäisi tehdä, mutta se käytännössä “jätettiin” syrjään kunnes muut asiat (mm. kotitehtävät) hoidettiin ensin alta. Parannuksena, olisi voinut olla jotain preview tilanteita ja enemmän suunnan näyttämistä. Uskon, että monella olisi tullut uusia ideoita/tekniikoita/yksilöllisiä ratkaisuja.

    Lisäksi olisin toivonut, että opettajalta olisi löytynyt esimerkkilista aiheista. LAMP- stackeja turhan monta, uskon että monella tilanteeksi muodostui, että eivät oikeen tienneet mitä kannattaisi tehdä. Jos olisi ollut valmislista, josta valita tarpeentullen – tällöin erilaisia moduleita, opettaja pysyisi paremmin kärryillä ja ohjaus ehkä helpompaa.

    Mitä mieltä oli esityspäivästä?

    Jos unohdetaan tykin toiminta, niin homma toimi. Henkilökohtaisesti kun esityksissä oli todella monta LAMP – stackia, niin yksilöllisen palautteen kirjoittaminen muuttuu todella haastavaksi. En kuitenkaan haluaisi laittaa vain “ihan jees” – kommenttia.
    Unohdin pyytää näkyviin tunnilla näytetyt ohjeet esityksestä. Uskon, että olisi auttanut useampaa oppilasta.

    Suosittelisitko kurssia? Kenelle (kollegoille, opiskelutovereille…)?

    Kurssia en ole vielä suositellut kenellekään, koska ystäväni eivät ole kiinnostuneet aiheesta.
    Tosin olen suositellut opettajaa heille.

  2. Mika Selvinen says:

    Oma moduulini asentaa itselleni tarvittavat ohjelmat RAW kuvien käsittelyä varten ja automaatti asentaa Ublock originin Firefoxille – https://selvinen.wordpress.com/2016/12/11/oma-moduuli/

  3. Ennen kurssia en osannut käyttää mitään keskitetyn hallinnan järjestelmää, mutta nyt pystyn Puppetin avulla konfiguroimaan kokonaisia järjestelmiä. Kurssin sisältö on todella käytännönläheistä ja opittua voi suoraan hyödyntää työelämässä. Omien moduulien rakentaminen oli hyvä tehtävä, sillä niiden avulla voi keskittyä eri aiheisiin kuin tunnilla ja näyttää osaamistaan. Omien moduulien esitteleminen oli myös hyvä lopetus kurssille. Suosittelisin kurssia keskitetystä hallinnasta, tai yleensäkin automaatiosta kiinnostuneille.

    • Tutuiksi tulivat myös verkkobootti, provisiointi ja versionhallinta Gitillä. Pienenä miinuksena se että kotitehtävissä oli melko paljon tekemistä, sillä niitä tuli kaksi kertaa viikossa.

  4. Jarkko Koski says:

    Tykkäsin kurssista erittäin paljon ainoat rusinat pullassa oli kotitehtävien suuri määrä kun kummaltakin toteutuskerralta annettiin kotitehtävä oli välillä vaikea löytää viikosta aika jolloin saisi tehtävän tehtyä ajallaan. Jos toteutuskertoja olisi vain yksi viikossa ja tehtävät sitten laajempia toimisi kotitehtäväsysteemi oikein hyvin. Kotitehtävien käsittely tuntui myös välillä vievän suhteettoman paljon aikaa tunnin varsinaiselta aiheelta. Perusteellinen läpikäynti on hyvä asia mutta kotitehtävien suuren määrn takia jouduttiin niiden läpikäyntiinkin kuluttamaan paljon aikaa. Muutenkin tuntui että tunneilla tuppasi loppumaan aika kesken. Jos olisi yksi pidempi opetuskerta olisi helpompi panetutua yhteen asiaan kunnolla ja säästettäisiin aikaa kun samoja asioita ei tarvitsisi tehdä uudestaan tehtävän jatkamiseksi (tosin tämä ongelma oli lähinnä windowsin kanssa).

    Kurssi toimi ainakin minulle todella hyvin kun kaikkia opetettuja juttuja pääsi testaamaan ja niistä tehtiin kotitehtävä niin kurssin asia tarttuivat erittäin hyvin muistiin. Tuntui myös että kurssin aikana mainittiin aina miten kutakin tekniikka voi käyttää työelämässä. Lähdeaineistoa oli tarjolla oikein hyvin.

    Kurssin lopettava esityspäivä oli myös hyvin mielenkiintoinen kun sai nähdä mitä muut olivat tehneet. Esityspäivän ainoa ongelma oli jotkut esitykset joissa käsitelmtiin hyvin yksinkertaisia tai toisiaan toistavia aiheita, joka teki näistä esityksistä melko tylsiä.

  5. Tero Hannula says:

    Tämä oli hyödyllinen ja käytännönläheinen kurssi eikä osallistumista tarvitse katua. Alussa en tiennyt Puppetista juuri muuta kuin että kyse on lopputilan konfiguroinnista jotenkin, mutta mitään taitoja ei ollut. Nyt luulisin osaavani tehdä Puppetilla asioita, joskin lisäoppimista on vielä paljon. Kehityspuolelle mietin että pitkin kurssia olisi ollut hyödyllistä kelata jonkinlaista materiaalia joka olisi kurssin sivujen ja Puppet-kirjan väliltä, jossa keskeiset asiat selviäisi tiiviissä muodossa ja jossa perinteiset epäselvyydet olisi selitetty niin ettei niihin jäisi pitkäksi aikaa jumiin. Tyyliin 10…20 sivua tai pari sivua per luento.

    Hyvä menininki! Kiitos!

    - Tero

  6. Vesa Valli says:

    course feedback:
    - I learned how to use puppet to automate configuration on computer and also netboot installation of linux
    - I found the course contents to be very useful to myself and I will use the things I learned at least at home and possibly at work also.
    - best things about the course was well learning about puppet and getting to test is properly.
    - I think for future it would be better to have all the classes on the same day rather than dividing it to 2 separate days.
    - I recommend this course to everyone that regularly configures computers or installs them.

  7. Opin kurssilla “herättämään” tietokoneita verkon yli ja asentamaan ja konfiguroimaan niitä ilman “fyysistä kosketusta”. Lisäksi opin käyttämään Githubia versionhallintaan

    Uskoisin, että kurssista on jatkossa hyötyä minulle jos satun työskentelemään palvelinten parissa ja saattaapa taidoista olla jotain hyötyä vapaa-aikanakin.

    Kurssilla parasta on uuden oppiminen. Vaikka kurssi tuntuukin hetkittäin erittäin työläältä niin työstään saa varmasti palkinnon. Tämä näkyykin hyvin esityspäivinä jolloin opiskelijat esittelevät omat moduulinsa. Jos jotain kehitettävää haluaa löytää niin ehdottaisin, että jatkossa kurssin lähiopetus järjestetään yhtenä pitkänä päivänä viikossa. Näin näyttikin olevan ainakin kevään 2017 lukujärjestyksissä.

    Suosittelen kurssia henkilöille joilla on työtä pelkäämätön asenne. Kurssilla on nähtävä vaivaa kotitehtävien eteen jotta ei putoa kärryiltä. Vastineena saa sitten varmasti hyvät taidot.

  8. Oona Lähteenmäki says:

    Kurssi oli hyvää jatkoa syksyllä aiemmin olleelle Linux palvelimet-kurssille, ja täydensi omaa osaamistani erittäin paljon. Varsinkin puppetin osaamisesta uskon olevan paljon hyötyä niin vapaa-ajalla kuin työelämässäkin. Oli myös mielenkiintoista nähdä miten puppet toimii Windowsilla.

    Parasta kurssilla oli aina kun onnistui tehtävien teossa, ja pystyi huomaamaan kuinka opitun asian pystyy myös toteuttaamaan käytännössä, eikä oppiminen jää vain teorian tasolle.

    Esityspäivä oli mielestäni positiivinen kokemus, koska oli kiva nähdä mitä kaikkea muut ovat tehneet, ja sen miten erilaisia moduleja pystyy toteuttamaan pelkästään tämän kurssin pohjalta. Muiden moduleista myös oppi paljon, ja sai ideoita itselleen.
    Suosittelisin kurssia kaikille, jotka ovat aiheesta kiinnostuneita.

  9. Eero Kolkki says:

    Mielestäni kurssi oli hyvin toteutettu. Ainoa kritiikki mitä keksin oli se että kotitehtävää tuli aika paljon, mutta toisaalta se myös tuki oppimista. Kurssi oli ajoitettu hyvin linux palvelimena kurssin jälkeen, joten pääsin syventämään siellä oppimiani asioita. Välillä kurssilla käytiin joitain asioita todella kovaa tahtia läpi, mutta sitä on aika vaikea välttää kurssin laajuuden vuoksi. Voin sanoa että oli yksi parhaista kursseista, johon olen tähän mennessä osallistunut ja aihepiiri oli todella mielenkiintoinen.

  10. Konsta Olli says:

    Opin käyttämään Puppettia.
    Onko kurssin sisältö hyödyllinen sinulle?
    Todella hyödyllinen
    Missä aiot hyödyntää kurssilla opittuja taitoja?
    Työelämässä ja arkipäivän asioissa omalla tietokoneellani
    Mikä oli parasta kurssilla?
    Uuudet paketinhallinta työkalut (chocolatey).
    Mitä voisi vielä kehittää?
    Ehkä enemmän voisi käydä peruskomentoja (before, after, require).
    Mitä mieltä oli esityspäivästä?
    Mielenkintoisia esityksiä opin miltei jokaisesta jotain uutta.
    Suosittelisitko kurssia? Kenelle (kollegoille, opiskelutovereille…)?
    Opiskelijatovereille

  11. Leo Luoto says:

    En itse ainakaan tiennyt oikeastaan mitään kurssin sisällöstä etukäteen, eli kaikki oli uutta ja upeaa. Kurssin aihe oli itselle todella kiinnostava, ja se antoi motivaatiota opiskeluun. Tosin tiukka aikataulu yhdessä jokseenkin aikaavievien läksyjen kanssa teki läksyjen tekemisen aikataulun sisään välillä mahdottomaksi. Kurssin oppeja kyllä varmasti tulen käyttämään työelämässä ja miksei kanssa vapaa-ajalla, jos tilanne mahdollistaa sen.

  12. Alex Lilja says:

    tykkäsin kurssin toiminnasta ja erityisesti ilmapiiristä vaikkakin osa tehtävistä tuntui aivan turhankin haastavilta. kurssi ihan hyvä tälläisenään tosin kotitehtävät jotka osuivat keskelle viikkoa tuottivat vaikeuksia aikataulujen järjestelemiseen.

  13. Kurssi oli mielestäni erittäin onnistunut ja rutkasti tietoa tuli taas matkaan kurssin päätteeksi. Mielestäni läsnäolo kurssin lähiopetuksessa on erittäin arvokasta ja jopa välttämätöntä jotta asiat jäävät päähän ja perustat ovat kunnossa. Kurssi oli haastava, mutta kun kurssin lopussa huomaa, että on sisäistänyt asioita ja huomaa oman osaamisen tuloksen se on myös hyvin palkitsevaa.

  14. Jarkko Koski says:

    Moduuli jossa myös mysql salasanan vaihtaminen site.pp :ssä https://github.com/jk-github/asennawordpress

  15. Konsta Olli says:

    Oma moduulini joa conffaa ja asentaa Chromen. https://konstaolli.wordpress.com/2016/12/11/oma-moduuli/

  16. Puppet, PXE ja Vagrant konfiguraatio

    Asentaa verkkobootilla työaseman ja sille Puppetin sekä Vagrantin avulla virtuaalikoneita.

    https://joonaleppalahti.wordpress.com/2016/12/11/pupxegrant-puppet-pxe-ja-vagrant-konfiguraatio/

  17. Vesa Valli says:

    My own module:
    https://vesalinux.wordpress.com/2016/12/11/updated-version-of-my-own-puppet-module/

    It is meant to install java development tools and some other programs onto a windows slave.

  18. Vesa Valli says:

    puppet exec resource for setting the mysql password.

    exec {‘set-mysql-pw’:
    command => “/usr/bin/mysqladmin -u root password $mysqlpw”,
    require => Service["mysql"],
    }

    replace $mysqlpw with the password you want.
    NOTE: this exec only works on the first apply

    you can read more about the error it gives on second try from my blog(near the end of the report):
    https://vesalinux.wordpress.com/2016/11/06/h4-installation-module-for-some-fav-programs-and-their-settings/

  19. Kaikki kotitehtävät ja oma moduli. Palauta linkki sivuun, jolta ne kaikki löytyvät.

    Moodlen palautuslomake (edellyttää kirjautumista):
    http://hhmoodle.haaga-helia.fi/mod/assign/view.php?id=607025

  20. Powershell dir show hidden files


    PS> dir -Force

    Edit a text file


    PS> notepad.exe puppet.conf

  21. wget Windows Coressa:

    > powershell.exe

    PS> wget -UseBasicParsing https://downloads.puppetlabs.com/windows/puppet-3.8.5-1-x64.msi

  22. h13. Kokeile jotakin puppetlabs/windows modulia. Jotain muuta kuin chocolatey provider, jota käytimme jo aiemmin.

  23. Vagrant.configure(2) do |config|
    config.vm.box = “mypackers/windows2016core”
    config.vm.communicator = “none”
    end

  24. h12. Windowsin hallintaa. Tee kohta a ja jokin kohdista b – z. Kaikki kohdat tehdään Puppetilla.

    a) Asenna ohjelmia Windowsiin package-resurssilla ja chocolatey providerilla. Täältä löytyy Gedit, Firefox, LibreOffice, VLC, sysinternals…
    b) Asenna GoldenDict ja sille sanakirjat valmiiksi
    c) Asenna MSI-paketti
    d) Asenna jokin palvelin
    e) Asenna joitakin ohjelmia DreamSparkista
    f) Asenna MS Office
    g) Asenna Adobe Creative Suite
    h) (vaikeampi) Asenna active directory orja ja herra

  25. Vapaaehtoinen bonus: Active Directory. Autentikoi työasema AD:lla, säädä palvelin ja asiakas Puppetilla.

    Vapaaehtoinen bonus: Windowsin käsikirjoitettu asennus ja siihen Puppet automaattisesti orjaksi omalle Puppetmasterille.

  26. h11. Hello Windows Puppet World. Asenna Puppet Windowsiin ja tee sillä hei maailma.

    Voit tehdä hei maailman joko paikallisesti tai herra-orja arkkitehtuurilla.

    Muista kuvailla asennus ja ympäristö tarkasti. Windowsissa tehdään paljon graafisessa käyttöliittymässä, jolloin ruutukaappauksia tarvitaan paljon. Windowsista pitää myös tietää täsmällinen versio ja bittisyys.

  27. h10. Tyypit ja parametrit. Tee omat modulit, jotka käyttävät määriteltyä tyyppiä (defined type) ja parametroitua luokkaa (parametrized class).

    Ota tyhjä muistitikku mukaan Windowsin kokeilua varten. Jos haluat, voit ottaa myös tärkeinä pitämiesi Windows-ohjelmien asennuspaketteja.

  28. ServerName http://www.monkeyhats.com
    ServerAlias monkeyhats.com
    DocumentRoot /home/xubuntu/public_html/

    Require all granted

  29. Linkki harjoitus 9:n raporttiin

  30. Some untested code:


    d-i preseed/late_command string tftp 172.28.172.211 -c get postinstall.sh && sh postinstall.sh

    #!/bin/sh
    # Make this to puppet slave - Copyright 2016 Tero Karvinen http://TeroKarvinen.com
    echo "$0 started"
    sudo service puppet stop

    cat < /etc/puppet/puppet.conf

    [main]
    logdir=/var/log/puppet
    vardir=/var/lib/puppet
    ssldir=/var/lib/puppet/ssl
    rundir=/run/puppet
    factpath=$vardir/lib/facter
    prerun_command=/etc/puppet/etckeeper-commit-pre
    postrun_command=/etc/puppet/etckeeper-commit-post

    [master]
    # These are needed when the puppetmaster is run by passenger
    # and can safely be removed if webrick is used.
    ssl_client_header = SSL_CLIENT_S_DN
    ssl_client_verify_header = SSL_CLIENT_VERIFY

    [agent]
    server = teromaster.local

    EOF
    sudo rm -r /var/lib/puppet/ssl/
    sudo service puppet start
    sudo service puppet reload

    echo "$0: Done. "

  31. h9. Asenna Linux verkon yli. Tyhjään koneeseen, käsin koskematta.

    Tehtävän saa tehdä parityönä. Muista merkitä tekijät ja kaikki lähteet linkkeineen myös GitHubiin.

    Laita liitteeksi nämä tiedot sekä asennetulta koneelta että palvelimelta:


    sudo tail --lines=100 /home/*/.bash_history /var/log/auth.log /var/log/apache2/*.log /var/log/syslog /etc/lsb-release>log-picks-$(date +'%Y-%m-%d_%H%M').txt

    Bonus: konfiguroi kone orjaksi puppetmasterille ja säädä sitä Puppetilla.


  32. d-i preseed/late_command string tftp 172.28.172.211 -c get postinstall.sh && sh postinstall.sh

  33. Joonan vinkit Ubuntu 16.04 xenial automaattiseen asennukseen (pxe+preseed):
    https://joonaleppalahti.wordpress.com/2016/11/18/palvelinten-hallinta-harjoitus-8/

  34. Tässä aiheeni hieman myöhässä:

    Teen moduulin joka asentaa ohjelmistokehittäjän pinon ja asettaa yleisimmät ominaisuudet jo valmiiksi kehittäjän käyttöön. Pinon tarkempi kokoonpano tarkentuu vielä moduulia tehdessä mutta sisältää työkalua ainakin seuraavien toteuttamiseen:

    - Verkkosivujen toteutus
    - Tietokannan luonti
    - Java – kehitystyökalu
    - Yleinen ohjelmointiin soveltuva tekstityökalu
    - + muita myöhemmin tarkentuvia tarpeellisia ohjelmia

  35. h8. Tee ensimmäinen versio omasta modulista.

    Kilpailu (vapaaehtoinen): kuka hallitsee suurinta määrää fyysisiä koneita Puppetilla?

  36. # pxelinux.cfg/default
    # Copyright 2015-2016 Tero Karvinen http://TeroKarvinen.com
    
    label teroxenial # 16.04 LTS
            kernel xenial/linux
            append initrd=xenial/initrd.gz auto=true auto url=tftp://10.0.0.42 locale=en_US.UTF-8 classes=minion DEBCONF_DEBUG=5 priority=critical
    
    prompt 1
    timeout 5
    default teroxenial
    

  37. $ sudo apt-get -y install tftp-hpa tftpd-hpa
    $ cat /var/lib/tftpboot/hello
    $ cd
    $ tftp localhost -c get hello
    $ cat hello
    See you at TeroKarvinen.com

  38. Jooel nurmi says:

    Jatkan lamp moduulin hiomista eheäksi. (Php ja mysql en ole saanut toimimaan)

  39. Jori Laine says:

    Puppet moduuli windowskille ois tarkoituksena yrittää saada aikaan. Moduuli joka tarkistaa päivitykset, asentaa usein käyttämiäni ohjelmia ja ehkä pyörättää ne kertaalleen.

    • Jori Laine says:

      Vaihdan Windows moduulin, linux moduuliin joka asettaa xubuntu työpöytäympäristön asetukset ja taustakuvat, yms.

  40. h7. Varaa oma aiheesi kommentilla tämän viestin perään.

    (Laita myös Moodleen linkki, jotta pysyn laskuissa, ketkä ovat varanneet aiheen).

    Oma moduli, tai kokonaisen koneen tai verkon konfiguraatio. Voi olla jokin työ- tai hupiprojekti, jonka tarvitset muutenkin.

    Saa tehdä myös Windowsilla. Itse asiassa joku voisi hyvin tehdä Windows 10 / Core tms. palvelimia konfiguroituna: AD, Exchange…

    • Markus Pyhäranta says:

      Puppet moduuli: LAMP asennus ja käyttöönotto.

    • Oona Lähteenmäki says:

      Moduuli: Asentaa tekstinkäsittelyyn tarvittavat ohjelmat, ja mahdollistaa tekstien julkaisun käyttäjän kotisivuilla ja personalisoi työaseman taustakuvalla.

    • Vesa Valli says:

      puppet moduuli java kehitysympärisön asennusta varten

    • Matti Nuutinen says:

      Moduuli asentaa tämän hetken kurssieni tehtävien suorittamiseen vaativat ohjelmat, jotta voisin minimoida Windowsin käytön hitaaksi käyneellä läppärilläni / tehdä tehtäviä missä vain. Ainakin Eclipse(+Java), MySQL, Sublime Text tai vastaava ja Pinta unohtamatta tietenkään distraktioita (Spotify jne.) Moduuli myös säätää ohjelmien oletusasetuksia ja joitakin käytettävyyden kannalta tärkeitä asetuksia.

    • Konsta Olli says:

      Moduuli joka asentaa firefoxiin addblockin lisää sivuja suosikkeihin, vaihtaa kotisivun. Asentaa vlc:n, vaihtaa työpöydän taustakuvaa ja asentaaa libre officen.

    • Eero Kolkki says:

      Muutamia moduuleja jotka asentavat verkkokehitysympäristön muutamilla käytetyillä kielillä, SSH (asennus ja porttien muutos), palomuurin käynnistys ja tarvittavat reiät. Tämän lisäksi moduuleissa tulee olemaan muita Linux-asennuksen käyttöönottoon liittyviä asetuksia, sekä jos aikaa jää, niin yritän keksiä vielä jotain järkevää näiden lisäksi.

    • Heikki Ma says:

      Moduuli: OpenVPN ohjelman asentaminen ja alustus

      • Heikki Ma says:

        Tästä ei tullut yhtään mitään. Uusi moduuli ilmoitetaan tämän kommentin vastaukseksi.

        • Heikki Ma says:

          Sivuston palvelimen siirto, eli moduuli asentaa tarvittavat ohjelmat (LAMP, laravel – PHP framework) ja siirtää koodit.

          • Heikki Ma says:

            Teen sittenkin Win10 – linuxille, puppet orja – puppet master yhteydellä moduulin win10 ympäristöön. Tavoitteena on asentaa “perus ohjelmat” – libreoffice, kunnollinen selain, VLC, skype ja yms. tämän lisäksi taustakuva vaihdettaisiin.

    • Mika Selvinen says:

      Moduuli: Tarvittavien työkalujen asennus ja konfigurointi ammattivalokuvauksen tarpeisiin.

    • Henri Pernilä says:

      Moduuli joka asentaa windows palvelimen ja perus konfiguraatiot

    • Jani Markkula says:

      VOIP ohjelman asennus ja konfigurointi neuvottelu tarpeisiin ja etäkommunikointiin.

    • Tero Hannula says:

      Webserverin pystytys ja turvakonffaus käyttövalmiiseen tilaan sis. WAFin asennuksen OWASP CRS -rulesetillä. Lisäksi MySQL:n asennus niin että kannat tulee varmuuskopioista ja on käyttövalmis.

      • Tero Hannula says:

        Tarkennus:

        Webserverin pystytys ja turvakonffaus käyttövalmiiseen tilaan sis. web application firewallin asennuksen OWASP CRS -rulesetillä. Lisäksi mukana tulee välineitä, joilla voi demota haavoittuvan web-sovelluksen suojausta WAFilla. Tarkoitus on siis kehitellä osa security baselinea Puppet-moduulin muodossa, aihepiirinä webserveri.

    • Verkkobootilla xubuntu koneelle ja siihen virtuaalikoneita puppetilla

    • Alex Lilja says:

      Teen moduulini windows 10 käyttöjärjestelmälle ja yritän saada joitain perusominaisuuksia toimimaan

    • Leo Luoto says:

      Moduuli joka asentaa LAMPIN, sekä kylkeen VOIP-palvelu sekä Gedit joka helpottaa HTML:än kirjoittamista.

    • Andero says:

      Moduuli, joka asentaa itselle tärkeimmät ohjelmat eli LAMP, tekstinkäsittelyohjelma, vlc, gedit jne. Tähän voi tulla vielä lisäyksiä.

    • Ville Salama says:

      Oma moduuli:
      Arduino IDE:n asennus, sekä teeman muokkaaminen pimeämmäksi ja miellyttävämmäksi silmille.

  41. Markus says:

    Aihe moduulille: omaan käyttööni sopivan kehitysympäristön (kirjastoineen/plugineineen) asentaminen ja konfigurointi (netbeans vähintään, luultavasti JBoss jne).


  42. $ grep -v ^# /etc/default/isc-dhcp-server |grep -v '^$'
    INTERFACES="enp2s0"
    $ cat /etc/dhcp/dhcpd.conf
    ddns-update-style none;
    #option domain-name "example.org";
    #option domain-name-servers ns1.example.org, ns2.example.org;
    default-lease-time 600;
    max-lease-time 7200;
    log-facility local7;

    authoritative; # BE CAREFUL

    next-server 172.28.172.211; # TFTP server ip address
    filename "pxelinux.0"; # name of bootloader image

    subnet 172.28.0.0 netmask 255.255.0.0 {
    host terotestaa {
    hardware ethernet 78:ac:c0:ba:7c:f7;
    fixed-address 172.28.1.235;
    option subnet-mask 255.255.0.0;
    option routers 172.28.1.254;
    option domain-name-servers 8.8.8.8, 172.28.1.67, 172.28.1.69;
    option domain-name "tielab.haaga-helia.fi";
    }
    }
    xubuntu@xubuntu:/etc/dhcp$ sudo service isc-dhcp-server restart

  43. h6. Ratkaise osa jonkin Linux-kurssini arvioitavasta harjoituksesta. Pyri ratkaisemaan ainakin kaksi isompaa kohtaa.

    Bonus: ohjaa Windows-orjaa Puppetilla
    https://www.google.fi/search?q=windows+puppet+download
    https://docs.puppet.com/puppet/latest/reference/install_windows.html#msi-properties
    https://downloads.puppetlabs.com/windows/

  44. $ cat /usr/local/bin/reset-to-default-settings
    #!/bin/bash

    echo “You are about to reset your user settings to company defaults. ”
    echo “Press ctrl-C to cancel, or y to overwrite each file. ”

    cp -riv /etc/skel/.??* $HOME

    echo “Done.”

  45. h5. Tee moduli git-varastoon ja kirjoita raportti sinne MarkDownilla.

    Update: Bonustehtävänä voit kokeilla kloonata uusi modulisi vasta bootatulle live-USB:lle.

  46. Näin voit liittää viimeiset rivit muutamista lokeista raporttiin

    sudo tail --lines=100 /home/*/.bash_history /var/log/auth.log /var/log/apache2/*.log /var/log/syslog /etc/lsb-release>log-picks-$(date +'%Y-%m-%d_%H%M').txt

  47. h4. Tee moduli, joka tekee suosikkiasetuksesi: asentaa tärkeimpiä ohjelmia ja säätää niiden asetuksia. Voit esimerkiksi ajaa tämän modulin tullessasi labraan.

    ps. Kilpailu jatkuu, tällä hetkellä 12 orjaa kärjessä.

    • Sekalaisia vinkkejä:

      Helppoja asennettavia ovat vaikkapa ohjelmat (install multiple packages).

      Asetuksia voi muuttaa vaikkapa asentamalla ssh-demonin ja korvaamalla /etc/ssh/sshd_config -tiedoston toisella. Siitähän voi vaihtaa esimerkiksi portin.

      Ohjelman foo asetukset ovat usein /etc/foo*, /home/tero/.foo* tai /home/tero/.config/**/foo*. Ensisijaisesti kannattaa laittaa yhteisesti /etc/ alle. Uusien käyttäjien (‘sudo adduser tero’) kotihakemistoon kopioidaan automaattisesti tiedostot /etc/skel/ alta.

      Tarvittaessa vanha käyttäjä voi kopioida esimerkkiasetukset omiensa päälle ‘cp -vr /etc/skel/.???* /etc/skel/* $HOME/’ (komento ulkomuistista).

  48. Joonalla näkyy olevan 12 orjaa Puppetilla hallittuna. Hyvä Joona, olet johdossa!
    https://joonaleppalahti.wordpress.com/2016/10/31/palvelinten-hallinta-harjoitus-3/

  49. h3. Anna orjalle määräyksiä master-slave arkkitehtuurilla (käytten puppetmaster:ia. Jos käytössäsi on vain yksi kone, voit asentaa herran ja orjan samalle koneelle. )

    Bonus: vaihda oletustaustakuva. Kannattaa päällekirjoittaa tiedosto ja käyttää file-resurssia.

    Bonus & kilpailu: kuka kurssilainen onnistuu hallitsemaan suurinta määrää orjia puppetilla? Raportoi.

  50. PuppetMaster, eli herra ja orjat verkossa. Lue myös kommentit, joissa on uudempia (Ubuntu 16.04 Xenialiin sopivia) työtapoja.

    http://terokarvinen.com/2012/puppetmaster-on-ubuntu-12-04

  51. h2. Asenna jokin palvelin package-file-server -tyyliin. Voit käyttää esimerkkikoodejani pohjana, mutta koita lisätä mukaan jotain omaa.

    Bonus: Asenna Puppet herra-orja arkkitehtuuriin niin, että herra (puppetmaster) ja orja (aka agent, puppet) ovat samalla tietokoneella.

    BonusBonus: kokeile Puppetia jossain toisessa käyttöjärjestelmässä, esimerkiksi Windowsissa.


  52. class apache {
    package {"apache2":
    ensure => "installed",
    allowcdrom => "true",
    }

    file {"/var/www/html/index.html":
    content => "Welcome.\n",
    }

    file { '/etc/apache2/mods-enabled/userdir.conf':
    ensure => 'link',
    target => '../mods-available/userdir.conf',
    notify => Service["apache2"],
    }

    file { '/etc/apache2/mods-enabled/userdir.load':
    ensure => 'link',
    target => '../mods-available/userdir.load',
    notify => Service["apache2"],
    }

    service {"apache2":
    ensure => "true",
    enable => "true",
    # provider => "systemd",
    }

    }


    $ find -newermt '-2 min'
    $ sudo puppet resource file /etc/apache2/mods-enabled/userdir.conf

  53. Use service provider ‘systemd’ for nicer sshd module:


    class ssh {
    package { ssh:
    ensure => installed,
    allowcdrom => true,
    }

    file { "/etc/ssh/sshd_config":
    content => template("ssh/sshd_config.erb"),
    notify => Service[ssh],
    }

    service { ssh:
    ensure => running,
    enable => true,
    provider => systemd,
    }
    }

  54. h1. Tee Puppet-moduli, joka käyttää useampaa eri tyyppistä resurssia (esim. file ja package).

    Bonus: asenna ja konfiguroi jokin palvelu package-file-service tyylillä.

  55. Muistiinpanoja paremmin sisennettynä.


    1. Aja puppet one liner. g: "karvinen hello puppet"

    Bonus: 2. kokeile describe ja resource (keksi omat esimerkit)

    $ puppet describe file|less
    $ puppet resource file /etc/passwd

    $ puppet help

    Vinkkejä: setxkbmap fi, less (space, b, q), ikkuna isoksi

    2. Tee oma puppet-moduli

    puppet$ pwd
    /etc/puppet
    puppet$ cd modules/
    modules$ find hellotero/
    hellotero/
    hellotero/manifests
    hellotero/manifests/init.pp
    modules$ cat hellotero/manifests/init.pp
    class hellotero {
    file {"/tmp/helloteromodule":
    content => "Hello from module!\n",
    }
    }
    $ sudo puppet apply -e 'class {hellotero:}'

    Bonus: 3. Tee moduli, joka käyttää eri resursseja
    package, file, service, user, exec

    Vinkkejä: kun modulit etc/ alla, sudo puppet apply,
    modulin (== modulin kansion, luokan) nimi pienellä yhteen,
    pwd, ls, mieti tavoite

    xubuntu@xubuntu:/etc/puppet/modules/sshd$ tree
    .
    ├── manifests
    │   └── init.pp
    └── templates
    └── sshd_config.erb

    2 directories, 2 files
    xubuntu@xubuntu:/etc/puppet/modules/sshd$ cat manifests/init.pp
    class sshd {
    package { ssh:
    ensure => "installed",
    allowcdrom => "true",
    }

    file { "/etc/ssh/sshd_config":
    content => template("sshd/sshd_config.erb"),
    notify => Service["ssh"],
    }

    service { "ssh":
    ensure => "running",
    enable => "true",

    hasstatus => 'false',
    status => 'service ssh status|grep running',

    hasrestart => 'false',
    restart => 'service ssh restart',

    stop => 'service ssh stop',

    start => 'service ssh start',
    }
    }

  56. 1. Aja puppet one liner. g: “karvinen hello puppet”

    Bonus: 2. kokeile describe ja resource (keksi omat esimerkit)

    $ puppet describe file|less
    $ puppet resource file /etc/passwd

    $ puppet help

    Vinkkejä: setxkbmap fi, less (space, b, q), ikkuna isoksi

    2. Tee oma puppet-moduli

    puppet$ pwd
    /etc/puppet
    puppet$ cd modules/
    modules$ find hellotero/
    hellotero/
    hellotero/manifests
    hellotero/manifests/init.pp
    modules$ cat hellotero/manifests/init.pp
    class hellotero {
    file {“/tmp/helloteromodule”:
    content => “Hello from module!\n”,
    }
    }
    $ sudo puppet apply -e ‘class {hellotero:}’

    Bonus: 3. Tee moduli, joka käyttää eri resursseja
    package, file, service, user, exec

    Vinkkejä: kun modulit etc/ alla, sudo puppet apply,
    modulin (== modulin kansion, luokan) nimi pienellä yhteen,
    pwd, ls, mieti tavoite

    xubuntu@xubuntu:/etc/puppet/modules/sshd$ tree
    .
    ├── manifests
    │   └── init.pp
    └── templates
    └── sshd_config.erb

    2 directories, 2 files
    xubuntu@xubuntu:/etc/puppet/modules/sshd$ cat manifests/init.pp
    class sshd {
    package { ssh:
    ensure => “installed”,
    allowcdrom => “true”,
    }

    file { “/etc/ssh/sshd_config”:
    content => template(“sshd/sshd_config.erb”),
    notify => Service["ssh"],
    }

    service { “ssh”:
    ensure => “running”,
    enable => “true”,

    hasstatus => ‘false’,
    status => ‘service ssh status|grep running’,

    hasrestart => ‘false’,
    restart => ‘service ssh restart’,

    stop => ‘service ssh stop’,

    start => ‘service ssh start’,
    }
    }

Leave a Reply

Your email address will not be published. Required fields are marked *

*

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  • Picks

  • Boxing Clock for AndroidOcton8 Diving T-ShirtsShaking Tower Panda Android GameLearn Chinese with Android
  • Student projects