Linux Palvelimet 2024 alkukevät
Kurssi ICI003AS2A-3004
Learn to manage your own Linux server – in 8 weeks.
100% remote. Weekly video conference + a lot of individual work. Beginners welcome. Excellent feedback. In Finnish.
Course name and code: | Linux palvelimet ICI003AS2A-3004 |
Timing | 2024 period 3, early spring, w03-w11, ei w08 |
Credits | 5 cr |
Classes | Tue 08:15 - 13:45 online, mandatory participation (agenda) |
Max students | 50 |
Language | Finnish (+reading material in English) |
Remote | Yes, fully remote |
Feedback | 4.7 / 5 Excellent feedback |
Services | Moodle, Jitsi, Laksu. Optionally Tero's list. |
First class | 2024-01-16 w03 Tue 08:15, Video conference link is in Moodle |
The course is in Finnish (and requires full fluency in Finnish), so the rest of this page is in Finnish.
Tavoite
Opiskele 8 viikkoa ja hallitset omaa Linux-palvelinta.
Opintojakson suoritettuaan opiskelija:
- Osaa hallita Linuxia palvelimena
- Osaa tehdä tärkeimmät asetukset tärkeimmille palvelimille (Apache, OpenSSH)
- Osaa asentaa www-ohjelmointiin sopivan alustan
- Osaa tehdä itselleen uusia asetuksia palvelinohjelmistoihin ohjeiden avulla
- Tietää esimerkkejä palvelintilan tarjoajista ja hinnoista sekä fyysisten palvelinten vastaavista ominaisuuksista
Osallistumiseen tarvitaan
- Jitsi-videokonfferenssiin: tietokone, kuulokemikrofoni, kamera, internet-yhteys.
- Linux-käyttöön: tietokone, jolla voit ohjeiden mukaan asentaa virtuaalikoneen ja Linuxin (edistyneemmät voivat toki asentaa Linuxin ihan oikean, erillisen koneen raudalle). Koneella tarvitaan noin 30 GB kovalevytilaa ja 2-4 gigatavua vapaata RAM-muistia. Tarvitset pääkäyttäjän oikeudet, jotta voit asentaa virtuaalikoneen ja Linuxin ohjeiden avulla. Toki myös raudalle asennettu Linux kelpaa, jos olet edistyneempi. Suosittelen tavallista PC-tietokonettta. Uudella Macintoshilla (M1, M2, M3) virtuaalikoneiden asentamisessa on enemmän työtä.
- Aikaa: 8 iltapäivää oppitunteihin + joka viikko runsaasti aikaa läksyihin (oppitunneille pitää osallistua aktiivisesti ja kaikki läksyt palauttaa)
Linuxia ei tarvitse osata yhtään. Omalle tietokoneelle pitäisi osata asentaa ohjelmia, esimerkiksi virtuaalikone. Ja tietysti ratkoa tavallisia tietokoneongelmia kokeilemalla ja wepistä tietoa hakemalla.
Aikataulu
Kurssin kahdeksan kertaa jakautuvat neljään osaan: peruskäyttö, demonit, automatisointi ja loppuhuipennus. Oppitunnit edellyttävät aktiivista osallistumista oppitunteihin lukkariin merkittynä aikana.
Oppitunnit ovat tiistaisin 08:15 - 13:45 videokonfferenssina.
Viikko | Aihe |
---|---|
Peruskäyttö | |
2024-01-16 w03 | 1. Asennus, lisenssit. |
2024-01-23 w04 | 2. Komentokehote. Ylläpito, paketinhallinta. |
Demonit | |
2024-01-30 w05 | 3. Apache-weppipalvelin. |
2024-02-06 w06 | 4. Julkisen palvelimen vuorkaaminen. |
2024-02-13 w07 | 5. Nimen vuokraaminen. |
2024-02-20 w08 | (talviloma, ei oppitunteja) |
Automatisointi | |
2024-02-27 w09 | 6. Ohjelmat weppipalvelimella, hei Python Django. |
2024-03-05 w10 | 7. Ohjelmointi. |
Loppuhuipennus | |
2024-03-12 w11 | 8. Kertaus. Arvioitava lopputehtävä. |
Oppituntien aiheisiin voi tulla muutoksia kurssin aikana.
Peruskäyttö
1. Asennus, työpöytä ja lisenssit FSF Free Software Definition, Rise of Open Source: Chapter 5. Raportin kirjoittaminen.
2. Komentokehote, ylläpito ja paketinhallinta w04 Command Line Basics, Commands for Admin.
Demonit
3. Apache-weppipalvelin Install Apache Web Server on Ubuntu Instant Firewall – sudo ufw enable.
4. Julkisen palvelimen ja nimen vuokraaminen Apachen oletussivu, Monta nimeä samaan IP-osoitteeseen. Virtuaalipalvelimia vuokrataan: Linode (associate link), Digitalocean, Amazon (monet Amazonin palvelut skaalautuvat automaattisesti, maksimihinnan rajoittaminen voi olla tarpeen). Julkisia nimiä vuokrataan: NameCheap, (I don't recommend Gandi anymore). Harjoittelua varten voit kokeilla myös http://www.dot.tk/ (ei tärkeille nimille). First Steps on a New Virtual Private Server – an Example.
Automatisointi
5. Ohjelmat weppipalvelimella. Palvelinpään ohjelmointi, Python Flask framework. Flask-asennus.
6. Shell scriptit, bash-skriptaus. Shell Scripting, aboutusers.sh, Over the Wire: bandit
Loppuhuipennus
7. Kertaus
8. Arvosteltava lopputehtävä
Anna palautetta
Palaute on minulle todella tärkeää, kiitos jo nyt. Hyödynnän palautetta heti seuraavilla kursseillamme "Palvelinten hallinta" ja "Tunkeutumistestaus". Sekä soveltuvin osin kahdella uudella tietoturvakurssilla.
1) Vapaamuotoinen palaute kommenttina tämän kurssisivun perään.
Vapaamuotoiseen palautteeseen saa kirjoittaa mitä vain, eikä kysymyksiä tarvitse toistaa. Mutta tässä vinkiksi:
- Opitko jotakin – eli osaatko nyt sellaista, mitä et osannut ennen kurssia?
- Teitkö jotain ensimmäistä kertaa? Vuokrasit koneen julkiseen Internetiin, asensit Linuxin, löysit tunkeutumisyrityksen...
- Oliko opittu hyödyllistä? Luuletko, että sille on käyttöä esim. tulevaisuudessa töissä tai kotona?
- Viihdyitkö kurssilla?
- Mitä pidit läksyistä?
- Miten voisin parantaa kurssia?
- Suosittelisitko kurssia tai oletko jo suositellut? Kenelle kurssi sopisi? Koulutoverille tai kollegalle?
2) Numeerinen palaute Haaga-Helian palautejärjestelmään MyNetissa.
Numeerisen palautteen avulla mm. verrataan Haaga-Helian kursseja toisiinsa.
Numeeriset: Asteikko 1-välttävä (huonoin) ... 5-kiitettävä (paras)
- Oma aktiivisuutesi opiskelussa 1-5
- Osaamistavoitteiden saavuttaminen 1-5
- Työskentelytavat tukivat oppimista 1-5
- Opiskeluympäristö tuki oppimista 1-5
- Hyödyllisyys työelämään 1-5
Avoimet kysymykset (näihin voi myös kopioida samat vastaukset jotka kirjoitit aiemmin)
- Mitkä asiat edistivät oppimistasi?
- Miten kehittäisit toteutusta / toteutuskokonaisuutta, jotta osaamistavoitteet saavutettaisiin paremmin?
Kokonaisarviosi toteutuksesta / toteutuskokonaisuudesta 1-5
Suosittelisitko 1 - 10 (1 en varmasti, 10 aion varmasti suositella tai olen jo suositellut)
Kiitos palautteesta ja jännittävästä kurssista!
Missä nähdään?
- Palvelinten hallinta ICI001AS3A (sopii kaikille tämän kurssin läpäisseille)
- Tunkeutumistestaus ICI005AS3A (sopii haasteita etsiville)
- Python weppipalvelu - ideasta tuotantoon ICT8TN034 (8 päivän kurssi)
- Teron uutiskirje (Voit poimia rusinat pullasta, mm. kutsuja vierailuluennoille. Viestejä harvoin, joka viestissä unsubscribe-nappi.)
Suhde muihin kursseihin
Tälle kurssille ei vaadita mitään kursseja esitietoina. Linuxia ei tarvitse osata yhtään. Omalle tietokoneelle pitäisi osata asentaa ohjelmia, esimerkiksi virtuaalikone. Ja tietysti ratkoa tavallisia tietokoneongelmia kokeilemalla ja wepistä tietoa hakemalla.
Tämä kurssi (Linux palvelimet ict4tn021) on esitietona monille kursseille, esimerkiksi
Ja pilvessähän palvelimet ovat pääosin Linuxeja, joten noilla kursseilla tästä lienee hyötyä.
Vanhoja kurssitoteutuksia
Vanhoilta kurssitoteutuksilta löytyy runsaasti opiskelijoiden palautteita ja linkkejä kotitehtävien esimerkkiratkaisuihin. Opiskelijoiden palaute kurssista on sivun lopussa kommenteissa.
- Linux Palvelimet 2023 alkusyksy ici003as2a-3006
- Linux Palvelimet 2023 alkukevät ici003as2a-3002
- Linux Palvelimet 2022 alkusyksy - ict4tn021-3020
- Linux Server Course - Linux palvelimet ict4tn021-3014 - alkukevät 2021
- Linux Server Course - Linux palvelimet ict4tn021-3010 Aikataulu
- Aikataulu – Linux palvelimet ict4tn021-3004 ti – alkukevät 2019 – 5 op
- Aikataulu – Linux palvelimet ict4tn021 8-ma, 7-ti ja 6-to – alkukevät 2018 – 5 op
- Aikataulu – Linux palvelimet ict4tn021 4-ti ja 5-to – alkusyksy 2017 – 5 op
- Aikataulu – Linux palvelimet ict4tn021-1 – 5 op – alkusyksy 2016.
Vanhoja arvioitavia laboratorioharjoituksia:
- Final lab test for group 4-Tuesday.
- Final lab test for group 5-Thursday.
- Arvioitava laboratorioharjoitus – Linux palvelimet ict4tn021-2 (uusi OPS) alkukeväällä 2017 p1
- Arvioitava laboratorioharjoitus – Linux palvelimet ict4tn021-3 (uusi OPS) alkukeväällä 2017 p1
Suoritukset
- Läksyt
- Aktiivinen etäosallistuminen opetukseen
- Lopputehtävä (ilmoitetaan myöhemmin)
Arvosana perustuu kokonaisarvioon kurssisuorituksista.
Läksyt
Kotitehtäväraporttien linkit palautetaan 24 h ennen lähiopetuskerran alkua Laksuun. Oman tehtävän palautuksen jälkeen riistiinarvioidaan kahden kurssikaverin tehtävät.
Läksyt tehdään ja raportoidaan kunkin tunnin jälkeen. Tehtävät saa julkaista missä haluaa ja palauttaa linkin Laksuun. Kotitehtäväraportin tulee olla suoraan selaimella katseltavassa muodossa, tavallisena HTML-weppisivuna. Ei odt, ei odp, ei ppt, ei docx, ei doc, ei pdf. Kotitehtäviä ei voi palauttaa sähköpostitse. Linkit palautetaan Laksuun ja sen jälkeen ristiinarvioidaan kaksi työtä. Maksutonta kotisivutilaa saa esimerkiksi WordPress.com, GitHub.com ja Gitlab.com.
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. Kurssilta poistetaan ne, jotka eivät ala suorittaa kurssia palauttamalla tehtäviä. 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.
Läksyt pitää tehdä tietokoneella kokeilemalla ja raportoida tapahtumien kulku, ellei kyseisessä alakohdassa erikseen muuta lue. Raporteista tulee ilmetä tiedot, josta voi todeta että harjoitukset on tehty eikä sepitetty.
Tekoälyn käyttö: Tällä kurssilla on samat AI säännöt kuin YAMK:n kurssillani: "AI and large language models (LLM): You can ask AI or LLM a question and use the answer as facts for your own answer, written in your own words. AI must be marked as a reference, with details such as prompt (and for advanced users system prompts, temperature, jailbreaks...). LLMs tend to hallucinate, so you should check answers from more reliable sources. It's not allowed to generate text with AI or similar technologies. For example, it's not allowed to generate essay answers or summaries with AI, LLM or similar technologies."
h0 Hei weppi
a) Julkaise oma sivu weppiin.
h1 Oma Linux
- x) Lue ja tiivistä (Muutama ranskalainen viiva kustakin artikkelista riittää. Tässä alakohdassa ei tarvitse tehdä testejä tietokoneella)
- Raportin kirjoittaminen
- FSF: FSF Free Software Definition (eritoten neljä vapautta)
- a) Asenna Linux virtuaalikoneeseen. (Tee raporttia varten uusi virtuaalikone, vaikka olisit asentanut sen aiemmin)
- k) Vapaaehtoinen bonus: suosikkiohjelmani Linuxilla. Tee ja raportoi jokin yksinkertainen toimenpide haluamallasi Linux-ohjelmalla.
Vinkkejä
- Tee täsmällinen ja toistettava raportti. Kuvaile myös ympäristö (host OS, rauta...). Sellainen, millä voi aiheuttaa samat virheet joita löysit, ja korjata ne samalla tavalla.
- Install Debian on Virtualbox - Updated 2023
- Viimeisin Debian Live -levykuva tavalliselle PC:lle debian-live-12.1.0-amd64-xfce.iso
- Kirjoita raporttia samalla kun työskentelet
- Jos jäät jumiin, tee vielä tarkempi raportti hankalasta kohdasta. Ota kaikki virheilmoitukset talteen. Luettele eri valitsemasi lähestymistavat. Ja katsotaan tunnilla yhdessä lisää.
- Arvioi kaksi tehtäväpalautusta, kun olet palauttanut omasi. (kuten aina)
- Weppisivun tekeminen Githubiin https://terokarvinen.com/2023/create-a-web-page-using-github/
- Ota ruutukaappauksia. Kuvia on helppo lisätä Markdowniin.
- Palautus aina 24 h ennen seuraavaa tapaamiskertaa.
- Kohta sinulla on oma Linux-harjoitusympäristö, kokonaan omassa hallussa. Perjantaina nähdään!
- Muista lähdeviitteet
- Kurssi
- Tehtävänannot https://terokarvinen.com/2024/linux-palvelimet-2024-alkukevat/#h1-oma-linux
- Manuaalisivut
- Weppisivut
- ja kaikki muutkin käyttämäsi lähteet
h2 Komentaja Pingviini
- x) Lue ja tiivistä (Muutama ranskalainen viiva riittää. Tässä alakohdassa ei tarvitse tehdä testejä tietokoneella)
- Karvinen 2020: Command line basics revisited (nämä komennot ja hakemistot kannattaa myös opiskella ulkoa ja harjoitella automaatiotasolle)
- a) Micro. Asenna micro-editori
- b) Rauta. Listaa testaamasi koneen rauta (‘sudo lshw -short -sanitize’). Asenna lshw tarvittaessa. Selitä ja analysoi listaus.
- c) Apt. Asenna kolme itsellesi uutta komentoriviohjelmaa. Kokeile kutakin ohjelmaa sen pääasiallisessa käyttötarkoituksessa. Ota ruutukaappaus. Kaikki terminaaliohjelmat kelpaavat, TUI (text user interface) ja CLI (command line interface). Osaatko tehdä apt-get komennon, joka asentaa nämä kolme ohjelmaa kerralla?
- d) FHS. Esittele kansiot, jotka on listattu "Command Line Basics Revisited" kappaleessa "Important directories". Näytä kuvaava esimerkki kunkin tärkeän kansion sisältämästä tiedostosta tai kansiosta. Jos kyseessä on tiedosto, näytä siitä kuvaava esimerkkirivi. Työskentele komentokehotteessa ja näytä komennot, joilla etsit esimerkit.
- e) The Friendly M. Näytä 2-3 kuvaavaa esimerkkiä grep-komennon käytöstä. Ohjeita löytyy 'man grep' ja tietysti verkosta.
- f) Pipe. Näytä esimerkki putkista (pipes, "|").
- g) Tukki. Aiheuta lokiin kaksi eri tapahtumaa: yksi esimerkki onnistuneesta ja yksi esimerkki epäonnistuneesta tai kielletystä toimenpiteestä. Analysoi rivit yksityiskohtaisesti.
Vinkkejä:
- Ohjelmien asennus
- sudo apt-get update
- apt-cache search version control
- apt-cache show git
- sudo apt-get -y install git
- Loki
- journalctl -f
- sudo journalctl
- Selitä ja analysoi - rautatehtävässä tärkeää on siis oma analyysi ja selitys, ei pelkkä listaus
h3 Hello Web Server
Tästä alkaa demonien osuus. Opit rakentamaan weppipalvelun ja vuokraamaan sille paikan julkisesta pilvestä.
- x) Lue ja tiivistä (Muutama ranskalainen viiva kustakin artikkelista riittää. Tässä alakohdassa ei tarvitse tehdä testejä tietokoneella)
- The Apache Software Foundation 2023: Apache HTTP Server Version 2.4 Documentation: Name-based Virtual Host Support
- Karvinen 2018: Name Based Virtual Hosts on Apache – Multiple Websites to Single IP Address
- a) Testaa, että weppipalvelimesi vastaa localhost-osoitteesta. Asenna Apache-weppipalvelin, jos se ei ole jo asennettuna.
- b) Etsi lokista rivit, jotka syntyvät, kun lataat omalta palvelimeltasi yhden sivun. Analysoi rivit (eli selitä yksityiskohtaisesti jokainen kohta ja numero, etsi tarvittaessa lähteitä).
- c) Etusivu uusiksi. Tee uusi name based virtual host. Sivun tulee näkyä suoraan palvelimen etusivulla http://localhost/. Sivua pitää pystyä muokkaamaan normaalina käyttäjänä, ilman sudoa. Tee uusi, laita vanhat pois päältä. Uusi sivu on hattu.example.com, ja tämän pitää näkyä: asetustiedoston nimessä, asetustiedoston ServerName-muuttujassa sekä etusivun sisällössä (esim title, h1 tai p).
- e) Tee validi HTML5 sivu.
- f) Anna esimerkit 'curl -I' ja 'curl' -komennoista. Selitä 'curl -I' muutamasta näyttämästä otsakkeesta (response header), mitä ne tarkoittavat.
- m) Vapaaehtoinen, suosittelen tekemään: Hanki GitHub Education -paketti.
- n) Vapaaehtoinen, vaikea: Tee Apachelle nimipohjainen virtuaalipalvelu (name based virtual host). Voit simuloida nimipalvelun toimintaa hosts-tiedoston avulla.
- o) Vapaaehtoinen, vaikea: Laita sama tietokone vastaamaan kahdellla eri sivulla kahdesta eri nimestä. Eli kaksi weppisiteä samalla koneelle, esim. foo.example.com ja bar.example.com.
Ensi kerralla vuokrataan kone pilvestä. Kannattaa ottaa luottokortti mukaan. Myös debit-luottokortti käy. Vaikka käyttäisit ilmaisia Github Education -krediittejä, nekin tarvitsevat yleensä luottokortin. Suosittelen kokeilemaan oikeiden, tuotantoon kelpaavien palveluiden vuokraamista, mutta voin keksiä jonkin vaihtoehtotehtävän jos et halua.
Vinkit
- Esimerkkisivun poistaminen lienee lienee ainoa kohta, jossa ikinä muokkaat weppisivua pääkäyttäjän oikeuksin. 'echo hello|sudo tee /var/www/html/index.html'
- 'sudo tail /var/log/apache2/access.log', 'sudo tail /var/log/apache2/error.log',
- 'tail -f /var/log/apache2/access.log', ctrl-C
- sudo systemctl enable --now apache2
- Kotisivu kielletty (403 Forbidden)? 'chmod ugo+x $HOME $HOME/public_html/', 'ls -ld $HOME $HOME/public_html/'
- Karvinen 2012: Short HTML5 page
- Onko weppisivu validi https://validator.w3.org
- sudo systemctl restart apache2
- Github Education
- Aloita rekisteröimällä @haaga-helia.fi tunnus Githubiin.
- Jos sinulla on jo Github-tunnus, Haaga-Helian sähköpostiosoitteen voi liittää vanhaan tunnukseen.
- Muista klikata vahvistussähköposti.
- GitHub Education.
h4 Maailma kuulee
- x) Lue ja tiivistä. Tiivistelmäksi riittää muutama ranskalainen viiva per artikkeli. (Tässä alakohdassa ei tarvitse tehdä testejä tietokoneella)
- Susanna Lehto 2022: Teoriasta käytäntöön pilvipalvelimen avulla (h4) (opiskelijan esimerkkiraportti), kohdat
- a) Pilvipalvelimen vuokraus ja asennus
- d) Palvelin suojaan palomuurilla
- e) Kotisivut palvelimelle
- f) Palvelimen ohjelmien päivitys
- Karvinen 2012: First Steps on a New Virtual Private Server – an Example on DigitalOcean and Ubuntu 16.04 LTS
- Susanna Lehto 2022: Teoriasta käytäntöön pilvipalvelimen avulla (h4) (opiskelijan esimerkkiraportti), kohdat
- a) Vuokraa oma virtuaalipalvelin haluamaltasi palveluntarjoajalta. (Vaihtoehtona voit käyttää ilmaista kokeilujaksoa, GitHub Education krediittejä; tai jos mikään muu ei onnistu, voit kokeilla ilmaiseksi vagrant:ia paikallisesti. Suosittelen kuitenkin harjoittelemaan oikeilla, tuotantoon kelpaavilla julkisilla palveluilla).
- b) Tee alkutoimet omalla virtuaalipalvelimellasi: tulimuuri päälle, root-tunnus kiinni, ohjelmien päivitys.
- c) Asenna weppipalvelin omalle virtuaalipalvelimellesi. Korvaa testisivu. Kokeile, että se näkyy julkisesti. Kokeile myös eri koneelta, esim kännykältä.
- d) Vuokraa domain-nimi ja aseta se osoittamaan virtuaalipalvelimeesi.*
Vinkit:
- Aina hyvät salasanat. Salasana on todella tärkeä kohta tietoturvassa.
- Muista tehdä reikä tulimuuriin. sudo ufw allow 22/tcp; sudo ufw enable; sudo ufw allow 80/tcp
- Käyttäjälle saa sudo-oikeudet lisäämällä ryhmään "sudo". Muita artikkelissa mainittuja ryhmiä "adm", "admin"... ei välttämättä ole koneellasi.
- sudo apt-get update; sudo apt-get dist-upgrade; sudo systemctl reboot
- Nykyisin demonin uudelleenkäynnistys 'sudo systemctl restart apache2' (ei enää service)
- Perinteisesti lokit ovat olleet tekstitiedostoissa /var/log/ alla. Nyt ne ovat siirtymässä journalctl:n. Archwiki: systemd/Journal. Tunnilla jonkun palveluntarjoajan valmiskuvaa käyttäessä lokien löytämisessä oli kummallisuuksia.
- Julkisia nimiä vuokraa mm NameCheap
- Nimen säätäminen
- "Advanced DNS"
- A-tietue, @ (tarkoittaa sitä nimeä, jota ollaan käsittelemässä), virtuaalipalvelimen julkinen IP
- Toinen A-tietue www:lle
- Muut tietueet (esim palveluntarjoajan mainokset) kannattaa poistaa
- Muutokset tulevat näkyviin 5 min - 4 tunnin kuluttua
- Raportteja palvelimen vuokraamisesta ja nimen säätämisestä https://www.google.com/search?q=namecheap+karvinen (muista lähdeviitteet)
- * Jos et jostain syystä halua vuokrata oikeaa nimeä, voit vaihtoehtotehtävänä kokeilla nimipalvelua tai sen simulointia hosts-tiedoston avulla. Tällöin voit tehdä nimipalvelutietojen analysoinnin mistä vain julkisessa käytössä olevasta nimestä.
- Suosittelen kuitenkin oikean nimen vuokraamista ja asettamista. Github Education -paketin mukana saattaa tulla ilmaisia nimiä. Ilmaiset tai halvat nimet ovat usein edullisia vain ensimmäisen vuoden.
- Tuotantoon yleensä .com nimi on sopivin.
h5 Koko juttu
- a) Koko juttu. Asenna uusi, tyhjä virtuaalikone. Tee koneelle tavalliset alkutoimet. Asenna sille Apache-weppipalvelin ja SSH-etähallintapalvelin. Tee uusi etusivu weppipalvelimelle niin, että sivuja voi muokata normaalikäyttäjän oikeuksin. Käytä tässä name based virtual host -tekniikkaa. (Raportoi työskennellessä. Tämän harjoituksen voi hyvin tehdä VirtualBoxissa tai muussa paikallisesssa ympäristössä.)
- b) Pubkey. Automatisoi kirjautuminen julkisella SSH-avaimella.
- c) Digging host. Tutki domain-nimesi nimesi tietoja 'host' ja 'dig' -komennoilla. Analysoi tulokset. Vertaa tuloksia nimen vuokraajan (namecheap.com, name.com...) weppiliittymässä näkyviin asetuksiin. (Jos sinulla ei ole omaa nimeä käytössä, voit tutkia jotain muuta nimeä).
- m) Vapaaehtoinen: Asenna vagrant, asenna sillä uusi virtuaalikone.
Vinkit
- On hyvä idea kokeilla koko jutun asentamista useamman kerran. Itse tehtävässä tämä raportoidaan vain kerran. Voit halutessasi tehtävän tehtyäsi kokeilla tätä useamman kerran raportoimatta. Yleensä eka kerta vie tunteja, toka 1-2 h ja kymmenes kerta 15-20 minuttia. Samalla aivokapasiteettia vapautuu nippeleiden ja nappeleiden vahtaamisesta suurempiin ja haastavampiin kysymyksiin.
- ssh-keygen, ssh-copy-id
- journalctl --since yesterday|grep -i ssh
- sudo apt-get -y install bind9-dnsutils bind9-host # asentaa komennot 'host' ja 'dig'
- Vagrantilla on todella nopea tehdä ja poistaa virtuaalikoneita. Helpottaa harjoittelua. Ulkomuistista:
- Asennus
- Asennus Linux: sudo apt-get update; sudo apt-get -y install virtualbox vagrant
- Asennus Windows: https://developer.hashicorp.com/vagrant/install?product_intent=vagrant "Windows" "Binary download" "AMD64", kaksoisklikkaus ja eteneminen next-next velhon kanssa
- Käyttö
- vagrant init debian/bookworm64
- vagrant up
- vagrant ssh
- ja lopuksi, kun haluat tuhota virtuaalikoneen ja kaikki sen sisältämät tiedostot: 'vagrant destroy'
- Asennus
h6 DJ Ango
- x) Lue ja tiivistä. Tiivistelmäksi riittää muutama ranskalainen viiva per artikkeli. (Tässä alakohdassa ei tarvitse tehdä testejä tietokoneella. Nämä ovat pitkiä artikkeleita, tässä pääpaino on lukemisella, jotta saat tehtävät tehtyä. Voit laittaa muutaman ranskalaisen viivan esim. omista huomoioista artikkelista. Eli tällä kertaa ei tarvita laajaa eikä kattavaa tiivistelmää.)
- Karvinen 2021: Django 4 Instant Customer Database Tutorial
- Karvinen 2021: Deploy Django 4 - Production Install
- a) Tee yksinkertainen esimerkkiohjelma Djangolla.
- Voit käyttää testipalvelinta, kunhan se ei näy Internetiin.
- Riittää, kun ohjelmasi näkyy esimerkiksi Django Adminsissa.
- Voit halutessasi tehdä aivan samanlaisen kuin Teron CRM-esimerkissä.
- b) Tee Djangon tuotantotyyppinen asennus
- Voit tehdä asennuksen omalle, paikalliselle virtuaalikoneelle. Sen ei tarvitse näkyä Internetiin.
Vinkit
- Käytä systemaattista työtapaa
- Tee muistiinpanot samalla kun työskentelet
- Lue virheilmoitukset lokeista
- Pienin testattava kokonaisuus kerralla
- Varmista paikkasi ajoissa
- ICI001AS3A-3004 Palvelinten hallinta (sopii jatkoksi tälle kurssille)
- ICI001AS3A-3005 Palvelinten hallinta (sopii jatkoksi tälle kurssille)
- ICI005AS3A-3001 Tunkeutumistestaus (haastava)
- ICT8TN034-3004 Python weppipalvelu - ideasta tuotantoon (kahdeksan päivää w21-w22)
h7 Maalisuora
- a) Käännä "Hei maailma" haluamallasi kielellä.
- b) Laita Linuxiin uusi komento niin, että kaikki käyttäjät voivat ajaa sitä.
- c) Ratkaise vanha arvioitava laboratorioharjoitus soveltuvin osin.
- d) Asenna itsellesi tyhjä virtuaalikone arvioitavaa labraa varten. Suosittelen Debian 12-Bookworm amd64, riittävästi RAM ja kovalevyä. Koneella saa olla päivitetyt ohjelmistot (apt-get dist-upgrade) ja tulimuuri. Koneella ei saa olla mitään muita demoneja tai ohjelmia asennettuna kuin nuo ja asennuksen mukana tulevat.
Vinkit:
- Vanhoja arvioitavia laboratorioharjoituksia löytyy Teron sivujen omalla hakutoiminnolla, Googlella ja DuckDuckGolla.
- Vanhoissa labroissa voi olla osia, joita ei ole käsitelty tällä toteutuksella. Voit soveltaa, vaihtaa tai hypätä yli noista osista.
- Muista aina hyvät salasanat. Älä jätä käyttäjien kotihakemistoihin root:in omistamia tiedostoja. Testaa kaikki mitä olet tehnyt.
h8 Bonus
Vapaaehtoinen: Bonus: luettele ja linkitä tähän tekemäsi
- a) Vapaaehtoiset tehtävät
- b) Arvioinnin jälkeen olennaisesti parannetut tehtävät
Adminstrivia
This has been updated after publishing, and will be updated as needed.
Tux logo by Larry Ewing.