Final Lab for Linux Palvelimet 2024 Spring
This is the evaluated lab exercise for Linux Server course. Student had an empty virtual Linux installation and free use of public Internet.
Course Linux palvelimet is in Finnish, so the rest of this page is in Finnish.
Ohjeita
Tervetuloa Linux-kurssin viimeiseen labraan!
Tasatunnein tavataan kurssin videokonffassa.
Tehtävä alkaa tyhjästä Linux-virtuaalikoneesta. Koneella saa olla virtualisointiympäristön tuki (esim VirtualBox Guest additions), tulimuuri ja oletuksena asennuksen mukana olevat paketit. Kaikki ohjelmat saavat olla päivitettynä. Muita paketteja ei saa olla. Jos koneellasi on vahingossa joitain muuta, keskustele siitä Teron kanssa.
Harjoituksessa saa käyttää julkisista lähteistä löytyvää materiaalia. Sallittuja lähteitä ovat esimerkiksi kaikki julkiset kotitehtäväraportit ja Teron kotisivut. Omia paikallisia muistiinpanoja ei saa käyttää. Harjoitus on yksilötyö, joten tehtävistä keskustelu ja yhteistyö kesken harjoituksen on kielletty.
Harjoituksen on tarkoitus olla hauska loppuhuipennus ja tarjota paljon haasteita kaikille kolmeksi tunniksi. Jotta luokan nopeimmillakin on tekemistä koko ajaksi, tehtäviä on enemmän kuin mitä useimmat ehtivät ratkoa. Siksi harjoituksesta voi siis saada erinomaisen tuloksen, vaikka ei ratkoisikaan kaikkia kohtia täydellisesti.
Testaamatta == tekemättä. Tee ja raportoi jokaisesta tekemästäsi asiasta testi, joka osoittaa, että tehty asia toimii. Tee sellainen testi, joka on mahdollisimman lähellä loppukäyttäjän tai tilaajan käyttöä.
Tallenna raportti kotihakemistoosi nimellä report/index.md . Laita samaan kansioon jpg tai png -muotoiset kuvat. Oikeaan paikkaan tallennettu raportti näkyy komennolla 'ls /home/*/report/index.md'.
Huomaa: tässä ei tarvitse raportoida kaikkia askelia, vain testit että asiat toimivat, tai maininta, että tätä ei ole tehty. Tämä on siis paljon lyhempi raportti kuin kotitehtävässä. Älä julkaise raporttia kesken harjoituksen.
Tehtävät
- a) Taustatiedot
- Oma nimi
- Opiskelijanumero
- Linkki omaan kotitehtäväpakettiin
- b) Tiivistelmä koko työstä lopuksi
- Vastaa tähän kohtaan aivan viimeisenä
- Mikä toimii, mikä ei
- Tämä toimii: toimivien palveluiden osoitteet tai polut komentoihin
- Tämä ei vielä toimi: luettelo kohdista, joita ei ratkaistu.
- Huomaa, että nopeimpienkin viihdyttämiseksi tässä tehtävässä on enemmän kohtia kuin mitä muutamassa tunnissa ehtii ratkoa.
- c) Ei kolmea sekoseiskaa
- Suojaa raportti Linux-oikeuksilla niin, että vain oma käyttäjäsi pystyy katselemaan raporttia
- d) 'howdy'
- Tee kaikkien käyttäjien käyttöön komento 'howdy'
- Tulosta haluamaasi ajankohtaista tietoa, esim päivämäärä, koneen osoite tms
- Pelkkä "hei maailma" ei riitä
- Komennon tulee toimia kaikilla käyttäjillä työhakemistosta riippumatta
- Tee kaikkien käyttäjien käyttöön komento 'howdy'
- e) Etusivu uusiksi
- Asenna Apache-weppipalvelin
- Tee yrityksellemme "AI Kakone" kotisivu
- Kotisivu tulee näkyä koneesi IP-osoitteella suoraan etusivulla
- Sivua pitää päästä muokkaamaan normaalin käyttäjän oikeuksin (ilman sudoa). Liitä raporttiisi listaus tarvittavien tiedostojen ja kansioiden oikeuksista.
- g) Salattua hallintaa
- Asenna ssh-palvelin
- Tee uusi käyttäjä omalla nimelläsi, esim. minä tekisin "Tero Karvinen test", login name: "terote01"
- Automatisoi ssh-kirjautuminen julkisen avaimen menetelmällä, niin että et tarvitse salasanoja, kun kirjaudut sisään. Voit käyttää kirjautumiseen localhost-osoitetta
- h) Djangon lahjat
- Asenna omalle käyttäjällesi Django-kehitysympäristö
- Tee tietokantaan lista tekoälyistämme, jossa on nämä ominaisuudet
- Kirjautuminen salasanalla
- Tietokannan muokkaus wepissä Djangon omalla ylläpitoliittymällä (Django admin)
- Käyttäjä Erkille, jossa ei ole ylläpito-oikeuksia
- Taulu Assistants, jossa jokaisella tietueella on nimi (name)
- Jos haluat, voit lisäksi bonuksena laittaa mukaan kentän koko (size)
- h) Tuotantopropelli
- Jos olet tässä kohdassa, olet kyllä työskennellyt todella nopeasti (tai sitten teet tätä tehtävää huviksesi kurssin jälkeen). Mutta älä huoli, tässä haastetta, jotta et joudu pyörittelemään peukaloita.
- Tee tuotantotyyppinen asennus Djangosta
- Laita Django-lahjatietokanta tuotantotyyppiseen asennukseen
- Voit vaihtaa tämän sivun näkymään etusivulla staattisen sivun sijasta
Hauskaa labraa!
Lopuksi
Palauta kurssin Moodle-sivulle.
Paketti tiedostoista:
sudo rm $HOME/pack.tar.gz; mkdir $HOME/pack; sudo cp -r /var/log/apache2/ /var/log/boot.log /var/log/installer/syslog /etc/ /home/*/report* /home/*/*.bash_history $HOME/pack/; sudo ss -lptn > $HOME/pack/ss-lptn; sudo ls -lR /var/ /etc/ /home/ > $HOME/pack/ls-lR; sudo find /var/ /etc/ /home/ -printf '%T+ M %m %M %k kB %p\n' > $HOME/pack/find; sudo journalctl>$HOME/pack/journalctl; sudo chown -R $(whoami) $HOME/pack/; tar -zcf pack.tar.gz $HOME/pack/; ls -lh pack.tar.gz
Palaute
Kiitos kaikesta palautteesta! Olen iloinen, että piditte kurssista, ja otan kaikki kehitysideat käyttöön.
Jos joltain vielä puuttuu palaute, niin >> anna palautetta >>.