Linux Palvelimet 2025 alkukevät
ICI003AS2A-3008 +lp

Tux the Linux penguin

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-3008
Timing2024 period 1, early spring, weeks w03-w11, not w08
Credits5 cr
ClassesTue 17:40 - 20:30 online, mandatory participation (agenda)
Max students50
LanguageFinnish (+reading material in English)
RemoteYes, fully remote
Feedback4.7 / 5 Excellent feedback Five star experience
ServicesMoodle, Jitsi, Laksu. Optionally Tero's list.
First class2025-01-14 w03 Tue 17:40, Video conference link will be in Moodle on the same day

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. 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.
  • Aikaa: 8 iltaa 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.

Macintosh käyttäjät: Suosittelen tavallista PC-tietokonettta (nörttikielellä amd64). Uudella Macintoshilla (M1, M2, M3, M4) virtuaalikoneiden asentamisessa on enemmän työtä ja itsenäistä selvittelyä.

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 17:40 - 20:30 videokonfferenssina.

ViikkoAihe
Peruskäyttö
2025-01-14 w03 Tue1. Asennus, lisenssit.
2025-01-21 w04 Tue2. Komentokehote. Ylläpito, paketinhallinta.
Demonit
2025-01-28 w05 Tue3. Apache-weppipalvelin.
2025-02-04 w06 Tue4. Julkisen palvelimen vuokraaminen.
2025-02-11 w07 Tue5. Nimen vuokraaminen.
(w08 on talvivapaa)(Ei opetusta eikä läksyn palautusta talvivapaalla.)
Automatisointi
2025-02-25 w09 Tue6. Ohjelmat weppipalvelimella.
2025-03-04 w10 Tue7. Ohjelmointi ja shell script.
Loppuhuipennus
2025-03-11 w11 Tue8. 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.

6. Shell scriptit, bash-skriptaus. Shell Scripting, aboutusers.sh, Over the Wire: bandit

Loppuhuipennus

7. Kertaus

8. Arvosteltava lopputehtävä

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ä.

Seuraavia kursseja

  • Palvelinten hallinta ICI001AS3A (sopii kaikille tämän kurssin läpäisseille)
  • Tunkeutumistestaus ICI005AS3A (sopii haasteita etsiville)
  • Sovellusten hakkerointi
  • Verkon hakkerointi
  • Teron uutiskirje (Voit poimia rusinat pullasta, mm. kutsuja vierailuluennoille. Viestejä harvoin, joka viestissä unsubscribe-nappi.)

Vanhoja kurssitoteutuksia

Vanhoilta kurssitoteutuksilta löytyy runsaasti opiskelijoiden palautteita ja linkkejä kotitehtävien esimerkkiratkaisuihin. Opiskelijoiden palaute kurssista on sivun lopussa kommenteissa.

Vanhoja arvioitavia laboratorioharjoituksia:

Suoritukset

  • Läksyt ja ristiinarviointi, 60%
  • Aktiivinen etäosallistuminen opetukseen
  • Lopputehtävä (ilmoitetaan myöhemmin), 40%

Arvosana perustuu kokonaisarvioon kurssisuorituksista.

Läksyt ajallaan ja keskustelussa mukana

Aktiivinen osallistuminen sisältää esimerkiksi tuntitehtävien ratkaisemisen, ryhmäkeskusteluihin osallistumisen ja kysymyksiin vastaamisen. Videokonfferenssin pitäminen auki ei riitä, eikä tuntien aikana voi olla muuta ohjelmaa.

Pakolliset tehtävät ja ristiinarvioinnit tulee palauttaa aikataulussa viikottain, jotta kurssia voi jatkaa.

Jos jokin yksittäinen alakohta kotitehtävistä on liian vaikea ratkaista loppuun asti, siitä tulee olla kirjallisesti raportoitu ratkaisuritys. Mukana tulee olla annetut komennot, virheilmoitukset sekä relevantit pätkät lokeja. Ratkaisuvaihtoehtoja tulee etsiä ja kokeilla itsenäisesti.

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äksyistä laaditaan yksityiskohtaiset kirjalliset raportit. Kurssilla opit myös, kuinka raportteja voi hyödyntää haastavien ongelmien ratkomisessa.

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 ovat virallisia vasta, kun ne on annettu tunnin päätteeksi. Niitä ei siis tule tehdä etukäteen, sillä ne arvioidaan sen annetun tehtävänannon mukaan. Ennen vahvistamista tehtäviin voi tulla olennaisiakin muutoksia.

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ö: Tekoälyllä tai muulla puppusanageneraattorilla ei sai generoida pitkiä tekstejä opettajan tai kurssikavereiden riesaksi. 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."

Läksyt ovat virallisia vasta, kun Tero on antanut ne tunnin päätteeksi. Niitä ei pidä tehdä etukäteen, sillä tuntien muuttuessa läksytkin muuttuvat.

h0 Hei weppi

a) Julkaise oma sivu weppiin.

Vinkit

h1 Oma Linux

  • x) Lue ja tiivistä (Muutama ranskalainen viiva kustakin artikkelista riittää. Tässä alakohdassa ei tarvitse tehdä testejä tietokoneella)
  • 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.6.0-amd64-xfce.iso - Jos ensimmäinen palvelin ei vastaa, käytä peilejä (mirrors), esim 1, 2. Linux-kuvia voi ladata myös Torrent-vertaisverkosta.
  • 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.
  • Tee myös h0, jos se jäi tunnilla kesken
  • Kohta sinulla on oma Linux-harjoitusympäristö, kokonaan omassa hallussa. Tunnilla nähdään!
  • Muista lähdeviitteet
  • Muista myös merkitä, mikä tieto on mistäkin lähteestä kotoisin.

h2 Komentaja Pingviini

  • x) Lue ja tiivistä (Muutama ranskalainen viiva riittää. Tässä alakohdassa ei tarvitse tehdä testejä tietokoneella. Lisää jokin oma kysymys, idea tai huomio)
  • a) Micro. Asenna micro-editori.
  • b) 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?
  • c) 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.
  • d) The Friendly M. Näytä 2-3 kuvaavaa esimerkkiä grep-komennon käytöstä. Ohjeita löytyy 'man grep' ja tietysti verkosta.
  • e) Pipe. Näytä esimerkki putkista (pipes, "|").
  • f) Rauta. Listaa testaamasi koneen rauta (‘sudo lshw -short -sanitize’). Asenna lshw tarvittaessa. Selitä ja analysoi listaus.
  • g) Vapaaehtoinen: Valitse muutama rivi lokeista. Tulkitse ja analysoi.
  • h) Vapaaehtoinen: Asenna jokin plugin micro-editorille ja kokeile sitä. Vaikkapa palettero, cheat tai runit.

Vinkkejä:

  • Ohjelmien asennus
    • sudo apt-get update
    • apt-cache search version control
    • apt-cache show git
    • sudo apt-get -y install git
  • Selitä ja analysoi - rautatehtävässä tärkeää on siis oma analyysi ja selitys, ei pelkkä listaus
  • Lokit
    • journalctl -f
    • sudo journalctl

h3 Hello Web Server

Tästä alkaa demonien osuus. Seuraavien viikkojen aikana opit rakentamaan weppipalvelun ja vuokraamaan sille paikan julkisesta pilvestä.

Nyt kokeillaan soveltaa ohjeita. Name Based Virtual Host -tehtävän haaste tulee siitä, että saat tehdä itsellesi uusia asetuksia ohjeista.

  • x) Lue ja tiivistä (Muutama ranskalainen viiva kustakin artikkelista riittää. Tässä alakohdassa ei tarvitse tehdä testejä tietokoneella)
  • 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.
  • 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. Voit simuloida nimipalvelun toimintaa hosts-tiedoston avulla.

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

Enää ei tarvitse kirjoittaa pöytälaatikkoon.

  • x) Lue ja tiivistä. Tiivistelmäksi riittää muutama ranskalainen viiva per artikkeli. (Tässä alakohdassa ei tarvitse tehdä testejä tietokoneella)
  • 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ä. (Jos haluat tehdä oikeat weppisivut, tarvitset Name Based Virtual Hostin)
  • d) Vapaaehtoinen: Laita omalle julkiselle palvelimellesi uusi Name Based Virtual Host. Kun sammutat muut weppisivut, niin se ainut näkyy nimestä riippumatta etusivulla. Name Based Virtual Host avulla pääset muokkaamaan kotisivuja normaalilla käyttäjällä, ilman sudoa.

Vinkit:

  • Sopivia virtuaalipalvelinten vuokraajia on paljon. Esimerkkejä: Linode, DigitalOcean, UpCloud.
  • 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)
  • Paketteja, joilla palvelimen hallinta on kivempaa. Ulkomuistista.
    • $ sudo apt-get update
    • $ sudo apt-get -y install micro bash-completion openssh-client wget curl ufw
  • SSH avaimen tekeminen. Ulkomuistista. Tässä "$ " on paikallisen koneen prompti, risuaita "#" komennon jälkeen on on kommentti
    • $ sudo apt-get update
    • $ sudo apt-get -y install openssh-client
    • $ ssh-keygen # enter, enter, enter
    • $ micro $HOME/.ssh/id_rsa.pub # shift-alas valitsee rivin, ctrl-C kopioi, ctrl-Q lopeta
    • Nyt voit liimata (Ctrl-V) avaimen selaimessa palveluntarjojan weppiliittymään. Tunnilla demonstroitiin UpCloud:n kanssa.
  • SSH julkisen avaimen kopiointi ja root-tunnuksen sulkeminen, ulkomuistista. Käytä omaa nimeäsi Jurpon tilalla ja oman palvelimen osoitetta 10.0.0.1 tilalla. Aina ja joka hetki hyvät salasanat. Tämä sopii tilanteissa, joissa ssh-kirjautuminen on automatisoitu root-tunnukselle, jolloin pitää luoda normaali käyttäjä sudo-oikeuksin ja sulkea root. Tässä kaukana olevan virtuaalikoneen root:in prompt on "root# ", normaalin käyttäjän "jurpo$ ". Paikallisen koneen prompti on "local$ "
    • Kirjaudu olemassaolevalla root-tunnuksella virtuaalikoneelle
    • Lisää itsellesi sudo-käyttäjä
      • root# sudo adduser jurpo
      • root# sudo adduser jurpo sudo
    • Kopioi root:n ssh-asetukset, jotta voit kirjautua myös uutena, omana käyttäjänä
      • root# sudo cp -rvn /root/.ssh/ /home/jurpo/
      • root# sudo chown -R jurpo:jurpo /home/jurpo/
    • Palaa paikalliselle koneelle ja kirjaudu uudelleen omana käyttäjänä
    • Sulje root-tunnus.
      • jurpo$ sudo usermod --lock root
      • jurpo$ sudo mv -nv /root/.ssh /root/DISABLED-ssh/
  • Perinteisesti lokit ovat olleet tekstitiedostoissa /var/log/ alla. Nyt ne ovat siirtymässä journalctl:n. Archwiki: systemd/Journal.

h5 Nimekäs

Lue itse: tämän kerran lukuläksy on etsiä itse laadukkaat lähteet kaikkiin vieraisiin käsitteisiin ja työkaluihin. Vastaukset tulevat osaksi analyysiä ja tulkintaa, erillisiä tiivistelmiä ei tällä kertaa tehdä.

  • a) Nimi. Laita julkinen nimi osoittamaan omaan koneeseesi. (Siis vastaava kuin terokarvinen.com. Nimen saattaa saada myös ilmaiseksi Github Education -paketilla. Suosittelen hankkimaan oikean nimen, mutta jos välttämättä haluat, voit myös simuloida nimen toimintaa paikallisesti hosts-tiedoston avulla.)
  • b) Based. Laita Name Based Virtual Host näkymään uudessa nimessäsi. Kotisvuja pitää pystyä muokkaamaan ilman pääkäyttäjän oikeuksia.
  • c) Kotisivu. Tee vähintään kolmen erillisen alasivun (esim. index.html, blog.html, projects.html) kotisivu ja kopioi se näkymään palvelimellesi. Sivujen muokkaamisen pitää onnistua ilman pääkäyttäjän oikeuksia, niiden kopioiminen pääkäyttäjänä testisivun paikalle ei käy. Kotisivujen ei tarvitse olla hienoja, mutta niiden tulee olla validia HTML:ää ja linkittää toisiinsa.
  • d) Alidomain. Tee kaksi uutta alidomainia, jotka osoittava omaan koneeseesi. Esimerkiksi palvelu on example.com -> linuxkurssi.example.com. Alidomainit ovat tyypillisesti ilmaisia, kun sinulla on päädomain (example.com). Tässä tehtävässä riittää, että alidomainit avaavat saman sivun kuin päädomain. (Vapaaehtoinen bonus: Tee toinen alidomain A-tietueella ja toinen CNAME-tietueella. Vapaaehtoinen bonus: tee alidomainiin oma erillinen name based virtual host.)
  • e) Tutki jonkin nimen DNS-tietoja 'host' ja 'dig' -komennoilla. Käytä kumpaakin komentoa kaikkiin nimiin ja vertaa tuloksia. Katso man-sivulta, miten komennot toimivat - esimerkiksi miten 'dig' näyttää kaikki kentät. Analysoi tulokset, keskity nimipalvelimelta tulleisiin kenttiin (dig näyttää paljon muutakin tietoa). Etsi tarvittaessa uusia lähteitä haastaviin kohtiin. Sähköpostin todentamiseen liittyvät SPF ja DMARC -tietojen yksityiskohdat on jätetty vapaaehtoiseksi lisätehtäväksi. Tutkittavat nimet:
    • Oma domain-nimesi. Vertaa tuloksia nimen vuokraajan (namecheap.com, name.com...) weppiliittymässä näkyviin asetuksiin.
    • Jonkin pikkuyrityksen, kerhon tai yksittäisen henkilön weppisivut. (Ei kuitenkaan kurssikaverin tällä viikolla vuokrattua nimeä).
    • Jonkin suuren ja kaikkien tunteman palvelun tiedot.
  • f) Vapaaehtoinen bonus: Aakkossalaattia sähköpostiin. Etsi palvelu, jonka DNS-tiedoissa on SPF ja DMARC. Selitä näiden kenttien osat ja vaikutukset yksityiskohtaisesti. Voit halutessasi käyttää tulkinnan apuna jotain ohjelmaa tai palvelua, kunhan selität ja tulkitset lopputuloksen myös itse.

Vinkit

  • Yksi hyvä domain-nimien vuokraaja on NameCheap. Muitakin hyviä on, mutta myös paljon huonoja. En suosittele Gandia enkä Godaddyä. Kannattaa valita NameCheap tai jokin palvelu, jonka tiedät omasta tai työkavereiden kokemuksista hyväksi.
  • Sivujen kopiointi palvelimelle onnistuu kätevästi ssh:n mukana tulevalla 'scp -r kansio/ tero@example.com:public_html/'. Tai jos haluat tehokkaan, mutta opettelua ja huolellisuutta vaativan työkalun, myös 'rsync' tukee ssh:ta.
  • dig
    • Lue se man-sivu - dig-komento ei oletuksena näytä kaikkia tietueita.
    • joskus 'dig' pitää ajaa pari kertaa (oikealla asetksella), jotta kaikki kentät näkyvät
  • https://validator.w3.org
  • https://terokarvinen.com/2012/short-html5-page/
  • Tässä tehtävässä opit etsimään itse uusia lähteitä yksityiskohdista, jotka ovat sinulle uusia. (Ja tietysti myös nimipalvelua)
  • Muista selittää uudet käsitteet ja merkitä lähdeviitteet selkeästi näkyviin.
  • Suosittelen hankkimaan domain-nimen oikealta vuokraajalta, tarvittaessa GitHub Education -paketin ilmaistarjouksia hyödyntäen. Jos et jostain syystä halua, a-kohdan tylsempi mutta varmasti kokonaan ilmainen versio tehtävästä on simuloida nimiä esim. hosts-tiedoston avulla ja soveltaa tehtävää. Mutta suosittelen oikeita nimiä.

Tämän tehtävän määräaika on vasta talviloman jälkeen, 2025-02-24 w09 ma 17:40.

Adminstrivia

This has been updated after publishing, and will be updated as needed.

Tux logo by Larry Ewing.