Aikataulu – Linux palvelimena ict4tn003-20 ilta – keväällä 2016

Linuxin perusteet hallussa ja haasteita etsimässä? Linux palvelimena -kurssilla opit

  • Ratkomaan ongelmia viileän rauhallisesti
  • Sorminäppäryyttä Linuxissa
  • Monia kiehtovia työkaluja (ks. aikataulu)

Aikataulu

Orientoituminen
1. Järjestäytyminen, nykytilan arviointi. SSH. w03
Järjestelmän tila
2. Järjestelmän tilan seuraaminen ja prosessinhallinta w04
3. Rosvoja ja kunnon kansalaisia – ja dd w05
4. Paketinhallintaa; metapaketteja w06
Demonit
5. Apache; kertaus ja edistynyttä asiaa w07
Viikko w08 on talviloma
6. Sisällönhallintajärjestelmät w09
7. Palvelimen suorituskyky w10
Testaa taitosi
8. Arvosteltava labraharjoitus (50% arvosanasta) w11
Kyseessä on edistynyt kurssi, ja ohjelmaan voi tulla muutoksia vielä kurssin aikanakin.
Kurssi kestää 1. periodin eli alkukevään 2016. Kaikki tunnit Pasilassa h5004.

Ennakkotiedot

Lue peruskomennot, ylläpito ja demonien asennus. Varmista, että ymmärrät nämä komennot ja osaat ne ulkoa.
Osaisitko vielä ratkaista peruskurssini harjoitukset ja kokeen? Jos peruskurssin koe tuntuu haastavalta, kertaa heti ensimmäisen viikon aikana kunnolla. (Kertaus viimeisellä viikolla ei auta, jos edistynyt kurssi on mennyt ohi.)
Esimerkkiraportteja silloisilta ensimmäisen vuoden opiskelijoilta: Janne Varis, Tuomas Sippola, Sami Soikkeli… Lisää löytyy klikkaamalla nimeä kurssipalautteista.
Parasta kertausta on käytännön treeni. Linux live-USB:llä se onnistuu.

Läksyt

Läksyt tehdään ja raportoidaan kunkin tunnin jälkeen. Tehtävät saa julkaista missä haluaa ja palauttaa linkin Moodleen. Läksyt käydään läpi seuraavalla tapaamiskerralla, ratkotaan yhdessä ongelmia ja annetaan suullista palautetta. Arvosana kotitehtäväpaketista tulee vasta kurssin lopuksi, mutta tehtävät tulee silti palauttaa aina vuorokautta ennen seuraavia tunteja.
Julkaiseminen on vapaaehtoista, mutta erittäin suositeltavaa. Jos et jostain syystä uskalla tai muuten halua julkaista, voit laittaa työn weppisivulle salasanan taakse (kaikille kotitehtäville sama salasana) ja jakaa tämän salasanan kurssilaisten kanssa.
Jos tuntien yhteydessä järjestetään testejä läksyjen aiheista, niiden pisteet sisältyvät arvostelun kohtaan läksyt (50%).

Arvostelu

Läksyt 50%, arvosteltava laboratorioharjoitus 50%.

Linkit

Xubuntu Linux
Moodle (edellyttää kirjautumista)
Kurssien kommenteista voit lukea Linux palvelimena ict4tn003-17 ilta ja -18 päivä syksyllä 2015 palautteet, Linux palvelimena ict4tn003-11 ja -12 keväällä 2014 palautteet,Linux palvelimena ict4tn003-9 ja -10 syksyllä 2013 palautteet ja muita palautteita.
Opinto-oppaan kurssikuvaus: Linux palvelimena.

Posted in Uncategorized | Tagged , , , , , , , , , , , | 34 Comments

34 Responses to Aikataulu – Linux palvelimena ict4tn003-20 ilta – keväällä 2016

  1. h1: ratkaise valitsemasi Työasemat ja tietoverkot Linux-koe. Raportoi.
    Tee itsellesi Live USB tikku.
    Updated.

  2. Vinkkejä: ilmainen (mainosrahoitteinen) blogi http://wordpress.com
    Ota ilmainen virtuaalipalvelin ym. http://education.github.com
    w04 ma 10:00 auditoriossa Panu Korpelan git-esitys.
    Xubuntu iso-kuva http://xubuntu.org , desktop, amd64, 14.04 LTS. Kuvasta tikku Linuxissa gnome-disks tai unetbootin, Windowsissa Lily. Pidä tikku aina mukanasi.
    Kertaa. http://terokarvinen.com/2016/aikataulu-%E2%80%93-linux-palvelimena-ict4tn003-20-ilta-kevaalla-2016#ennakkotiedot
    http://terokarvinen.com/2006/raportin-kirjoittaminen-4
    Update: kirotusvirhe

  3. Vapaaehtoinen bonus: kerää tietoa jostain koneesta komennolla ‘sudo lshw -short’.
    Vaikeampi bonus: kerää tietoa machinotero -ohjelmalla.

  4. h2. Kuormita konetta eri tavoin (stress, firefox, animaatiot…). Tarkkaile kuormaa tavallisimmilla komennoilla ja analysoi tulokset. Voit käyttää esimerkiksi komentoja top, ps waux, netstat -pea, iotop.
    Seuraa koneen kuormitusta pidemmältä ajalta. Voit käyttää munin-ohjelmaa tai muuta sopivaa vapaata ohjelmaa. Analysoi tulokset.
    Aiheuta ainakin kahteen lokiin esimerkkirivit virheestä ja onnistuneesta toiminnosta. Analysoi nämä lokirivit.

  5. h3. Ratkaise HoneyNet Scan of the Month 15. http://old.honeynet.org/scans/scan15/
    Käsittele oikeita haittaohjelmia sisältävää kuvaa huolella, äläkä vie sitä tärkeille tuotantokoneille. Ratkaisut tehtävän selviävät levykuvasta, mitään ulkopuolisia järjestelmiä ei saa häiritä.
    Raportoi, kuinka ratkaiset tehtävän.
    Vastaa tehtävänannon kysymyksiin:
    – “Show step by step how you identify and recover the deleted rootkit from the / partition.”
    – What files make up the deleted rootkit?
    Lisätehtävinä voit halutessasi vastata:
    – “Bonus Question: Was the rootkit ever actually installed on the system? How do you know?”
    – Mitä tekijään viittaavia tietoja levykuvasta löytyy?
    – Selitä vaiheittain, miten rootkit toimii.

  6. h4. Tee metapaketti omista suosikkiohjelmistasi.
    Valitse yksi seuraavista (vapaaehtoisena bonuksena useampia)
    – Asenna yksittäinen skripti (esim. Python tai Bash) deb-paketilla
    – Tee oma varasto (repository)
    – Allekirjoita varastosi PGP:llä
    – Aseta orjakoneet päivittymään varastostasi automaattisesti
    – Kokeile ohjelmaani dependicer
    Vapaaehtoisena lisänä Apachea ja LAMPia kannattaa vilkaista ennen ensi tuntia.
    Hauskaa paketointia!

  7. h5. Vuokraa virtuaalipalvelin ja kokeile sitä. (Vaihtoehtoisesti voit kokeilla vagrant:ia, joka on ilmainen. Suosittelen virtuaalipalvelimen vuokraamista).
    Kokeile laittaa monta nimeä samaan IP-osoitteeseen (name based virtual hosting).

  8. Vapaaehtoinen bonustehtävä: tee palvelinohjelma Pythonilla.

  9. $ sudo apt-get update
    $ sudo apt-get -y install mysql-server mysql-client
    $ mysql -u root -p
    SHOW DATABASES;
    CREATE DATABASE wptero;
    GRANT ALL ON wptero.* TO wptero@localhost IDEcatNTIFIED BY “NotMyRealPWlFoH732″;
    $ nano .my.cnf
    [client]
    user=”wptero”
    database=”wptero”
    password=”NotMyRealPWlFoH732″
    $ mysql
    create table students (id int(6) unsigned auto_increment primary key, name varchar(1024));
    insert into students (name) values (“Tero”);
    insert into students (name) values (“Maija”);
    insert into students (name) values (“Matti”);
    select * from students;
    delete from students where name=”Matti”;
    update students set name=”Maija Mehiläinen” where name=”Maija”;
    select * from students;

  10. $ sudo apt-get -y install postgresql
    $ sudo -u postgres createdb xubuntu
    $ sudo -u postgres createuser xubuntu
    $ psql

  11. h6:
    – Asenna WordPress (alkaen tilanteesta, jossa LAMP on asennettu)
    – Kirjoita esimerkkisisältöä
    Tee ja raportoi kaksi seuraavista:
    – Lisää kuvia WordPressiin (ja laita tämä toimimaan)
    – Käynnistä tulimuuri ja salli weppi ja ssh (sudo ufw allow ssh; sudo ufw allow 80/tcp; sudo ufw enable)
    – Vaihda teema
    – Varmuuskopioi sisältö
    – Palauta varmuuskopioitu sisältö puhtaaseen WordPress-asennukseen
    – Tee WordPressiin oma teema
    – Asenna WordPressiin plugin (esim Dofollow)
    – Asenna Drupal ja kokeile sitä
    – Asenna Joomla ja kokeile sitä
    – Tee WordPressiin oma plugin
    – Laita WordPress nimipohjaiseen virtuaalipalvelimeen (http://thello.foo tms)
    – Jos sinulla on oma virtuaalipalvelin, tee sille http://dot.tk nimi (kokeile jollain vähäarvoisella nimellä
    – Vaikea: Tee esimerkkisivu Ruby on Rails (tuotantotyyppinen, ei pelkkä yhden käyttäjän testipalvelin)
    – Vaikea: Tee esimerkkisivu Python Django:lla (tuotantotyyppinen, ei pelkkä yhden käyttäjän testipalvelin)
    Vapaaehtoinen bonus:
    – Pelaa SqlZoo:ta. Hyppää yli tehtävistä, jotka on merkitty erityisen vaikeiksi.

  12. Korjasin tuon url:n wordpressin general asetuksista, nyt ei IP:t näy kun avaa artikkeleja.

  13. h7. Nopeuta paikallista WordPress-asennusta käänteisproxylla. Osoita, että palvelu on nopeutunut.
    Vapaaehtoiset bonukset: Käytä Firefoxin lisäkkeitä YSlow ja Firebug (Net-välilehti) etsiäksesi pullonkauloja. Paranna jotain niistä.

  14. Eino Liimattan laadukkaat raportit auttavat valmistautumaan
    http://terokarvinen.com/otherauthors/eliimatt-wordpress-org-puppet-liimatta-2013/eliimatt.wordpress.com/index.html
    Muistakaa USB-tikku mukaan viimeiseen, arvioitavaan laboratorioharjoitukseen. Ubuntu, ei persistence.

  15. Katohan, pääsi unohtumaan viimeinen tehtävä kun harjoittelin kokeeseen toisen tehtävän kanssa.
    Nagioksen asennus ja määrittely: https://tommikurjensalo.wordpress.com/bonus/

  16. Jani Nordström says:

    Ihan jees kurssi ja hyödyllinen jos tulee töissä mitään linuxiin haiskahtavaa vastaan, joskin jonkinmoista paradigman muutosta se vaatisi nykyisellä uralla.

  17. Hyvä kurssi Linux palvelimen perusteista. Opetus ensiluokkaista.

  18. Ilkka Siiskonen says:

    Osa kurssin asioista oli jo ennestään tuttua, mutta mukana oli myös paljon uutta. Kurssin asioista on hyötyä tulevaisuudessa muun muassa oman palvelimeni pyörittämisessä. Kurssista on iloa tuleville opiskelijoille, joten voin varauksetta suositella sitä.

  19. Aleksanteri Rytkönen says:

    Kurssi oli hyvä, joskin joitain päällekkäisyyksiä oli aikaisemman perus kurssin kanssa. Opin kuitenkin paljon, joista ehkä mielenkiintoisin asia oli käänteisproxyn käyttö. En voi muuta kuin suositella kaikille, joilla on vähänkin kiinnostusta linux maailmaan liittyen.

  20. – Opitko jotakin – eli osaatko nyt Linuxista sellaista, mitä et osannut ennen kurssia?
    LAMP configurointi
    – Oliko opittu hyödyllistä? Luuletko, että sille on käyttöä esim tulevaisuudessa töissä tai kotona?
    On ehdottomasti käyttöä työelämässä
    – Miten voisin parantaa kurssia?
    Lisää aikaa opetukseen +4h tunnit kiitos
    – Missä aiot hyödyntää taitoja kurssin ulkopuolella?
    työelämässä
    – Viihdyitkö kurssilla?
    Viihdyin, paras kurssit tällä perioidilla
    – Suosittelisitko kurssia? Kenelle? Koulutoverille tai kollegalle?
    suosittelen kurssia työelämässä ja suosittelen opettajaa linux guruna tulevassa työpaikassani jos sellaista tarvitaan.

  21. Mielestäni kurssilla palautui mieleeni asiat jotka oli jo päässyt unohtamaan. Kurssilla oppi myös paremmin ohjelmien määrittelyitä laajemmilta aloilta kuin vain ssh tai muu vastaava pienempi demoni.
    Uskon, että hyötyä on tulevaisuudessakin. Tosin vielä en osaa tarkalleen sanoa, että kuinka paljon. Nykyisessä työssäni ei osaamistaso tarvitse Linuxin kanssa olla suuri.
    Minä jäin kaipaamaan kurssista hiukan syvällisempää määrittelyitä, eikä vaan että ”kunhan ohjelma toimii, niin se on riittävä”.
    Viihdyin kyllä kurssilla, vaikka ilta-aika on aina hiukan haasteellinen.
    Kyllä kurssi sopisi kaikille, jotka tietävät jotain jo Linuxista. Aivan ummikkona tähän ei kannata tulla.

  22. Ari Hartikainen says:

    Käänteisproxy, apache yleisesti oli mielenkiintoisin osio. Kurssi oli kokonaisuudessaan hyvä ja hyvin toteutettu. Suosittelen kurssia kaikille joilla on kiinnostusta linuxiin. Etenkin web-palvelimena ja siihen liittyvään käyttöön kurssi on mainio.

  23. Tommin tehtäväraporteista voi katsella mallia, jos jokin harjoitus jäi itseltä ratkaisematta.
    https://tommikurjensalo.wordpress.com/

  24. Sami Rita says:

    – Opin ainakin: Linuxin yleisestä hallinnoimisesta, suorituskyvyn seuraamisesta ja testaamisesta, sisällönhallintajärjestelmista yhdistettynä Linuxiin sekä yleisesti web-palvelimista ja sovelluspaketeista.
    – Aloittelijalle vaativa ja työläs kurssi ollakseen vain kolmen opintopisteen, mutta samalla erittäin hyödyllinen. Kurssilla opituille asioille on käyttöä varmasti tulevaisuudessa ainakin töissä (ja mikäänhän ei estä oppimasta itse lisää, kun on hyvän startin nyt saanut.)
    – Alkubrieffin aikana voisi olla ehkä enemmän visuaalista materiaalia samalla, kun kerrotaan jostain uudesta sovelluksesta (samalla kun selittää siitä).Totta kai paino pitää säilyttää käytännön tekemisessä, mutta lyhyt ja ytimekäs powerpointti tai vastaava visuaalinen tekele alkuselityksien aikana voisi olla hyödyksi sisäistämään paremmin minkälainen se työkalu on, jota tullaan seuraavaksi käyttämään.
    – Kurssin ulkopuolella aion hyödyntää taitoja ainakin töissä. Kotiin ei ihan heti ainakaan ole suunnitelmia pystyttää linux-farmia, mutta toisaalta esim. VPS:n konffaaminen oli aika mielenkiintoista…
    – Viihdyin kurssilla, paljon mielenkiintoista asiaa ja opetus motivoivaa sekä asiantuntevaa.
    – Tulen suosittelemaan kurssia linuxista kiinnostuneille ja/tai linux-taitoihin kohennusta haluaville koulukavereille sekä kollegoille.

  25. Sorminäppäryys komentorivillä on kasvanut huomattavasti. Ennen kurssia olin käyttänyt komentoriviä viimeksi pari vuotta sitten ja kurssin alussa vain cd ja ls komennot muistuivat mieleen. Nyt koneen käyttö on huomattavasti nopeampaa ja helpompaa. Myös käyttöjärjestelmän peruslogiikan ymmärtäminen on nopeuttanut ennalta tuntemattomien ohjelmien asennusta.
    Vaikka kokeessa mikään opittu ei tuntunut onnistuvan, tunnen oppineeni erittäin hyödyllisiä taitoja.
    Suosittelen kurssia kaikille linuxista kiinnostuneille.

  26. Havaintojani läksyistä, siinä mielivaltaisessa järjestyksessä kun ne sattuivat tulemaan mieleen.
    Testaamatta == tekemättä. Muista laittaa raporttiin myös se viimeinen testi, joka osoittaa, että kaikki asennettu toimii loppukäyttäjän näkökulmasta.
    Pelkkä perusteeton väite “Testattu toimivaksi..” tai “toimii” ei ole testaamista. Pitää kuvailla testi, tulos ja siitä vedetty johtopäätös. Esimerkiksi, mitä tarkoittaa, että “tietokone toimii”? Testasitko, että i2c-väylä toimi? Onko virtalähteen hyötysuhde todella yli 80%, kuten paketissa luvataan? Selviääkö 1 Gbit/s verkkokortti jatkuvasti tästä kuormasta? Täyttääkö verkkokaapeli CAT6 vaatimukset? Oikea vastaus on kuvailla testi “avasin Firefox-selaimen, kirjoitin terokarvinen.com (enter)”, tulos “sivu aukesi, kuvat ja teksti näkyivät” ja tehdä johtopäätös “näyttö, hiiri ja näppäimistö toimivat ainkin tässä laajuudessa. (Näppäinkarttaa – fi vai us – ei testattu)”.
    Viittaa kaikkiin lähteisiin: kurssiin, toisten kotitehtäväraportteihin, man-sivuihin, manuaaleihin – kaikkiin lähteisiin. Käytettyjä lähteitä oli itseasiassa hyvin muistettu tällä kurssilla, mutta kirjallisuusluettelon lisäksi niihin olisi hyvä viitatta – eli näyttää mikä asia on mistäkin lähteestä. Pelkkä linkkilista kirjoituksen perässä ei vielä ole varsinaista viittaamista.
    Sisältö on sivuilla tärkein. Ei kannata antaa päivän JavaScript-kirjaston sotkea sivua niin, että se näkyy vain yhden selaimen yhdellä versiolla tähtien ollessa oikeassa asennossa.
    Älä tallenna info.php:ta palvelimen juureen, moni pentest-työkalu etsii sitä. Älä julkaise muninin käyriä weppipalvelimella ilman salasanaa, ellei siihen ole joku aivan erityisen hyvä syy.
    Älä sudottele kotihakemistoissa, kukaan ei halua esimerkkikotisivua, jota ei voi itse muokata. Koko järjestelmää koskeviin tiedostoihin tarvitaan sudoa ‘sudoedit /etc/ssh/sshd_config’. Yksittäisen käyttäjän tiedostoihin ei tarvita kuin tavalliset omat oikeudet ‘nano .my.cnf’.
    VirtualBox tehokäyttö: kokeile Vagrantia.
    Linkin aihe linkin tekstiksi. Hyvä “Lisää kuvia näkyy _Teittisen tinttisivuilta_”. Huono: “Lisää Teittisen ottamia kuvia tinteistä näkyy _täältä_”.
    MySQL:n kanssa kannattaa laittaa salasana IDENTIFIED BY kaikille riveille, joilla on GRANT ALL. Muuten tulee helposti luoneeksi kaksi käyttäjää: toisen, jolla on kaikki oikeudet; ja toisen, jolla on salasana.
    Kotisivut jonkun käyttäjän kotihakemistoon (voi olla myös projektikohtainen käyttäjä). Julkaisu joko mod_userdir (~tero) tai name based VirtualHost (terokarvinen.com). Sivuja ei kannata laittaa /var/www/html/ -kansioon, koska mihinkäs se seuraava kotisivu sitten menee? Normaalille palvelimelle tulee enemmän kuin yksi weppisivu.
    FAQ: miksi sain näin hyvän numeron kotitehtävistä, en saanut yhtä tehtävää (sotm15) ratkaistua? Tehtävät ovat kokonaisuus. Raportoinnin yleinen selkeys ja toistettavuus vaikuttavat arviointiin. Erityisen hyvät ratkaisut ja itse keksityt, kurssin aiheen kannalta relevantit lisätehtävät voivat joskus nostaa arvosanaa.
    “No space left on device” – levy täynnä. Mikään ei toimi, ennenkuin tilaa tulee. Kaikki yleiset käyttöjärjestelmät menevät sekaisin levyn täyttymisestä. Ohjelmat eivät käynnisty, tulee päättömiä virheilmoituksia, kone ei välttämättä edes boottaa. ‘df -h’ näyttää vapaan levytilan. Kannattaa tehdä ajoissa lisää tilaa. Jos sinulla on erityisen pieni /boot/ osio, automaattipäivitykset voivat jättää sinne vanhoja kerneleitä, aja siis ‘sudo apt-get autoremove’. Jos käyttäjiä on paljon, osioinnilla ja quota:lla voi estää käyttäjiä kaatamasta konetta levyä täyttämällä.
    Update: päivittelin tätä kommenttia samalla, kun luin raportteja.