Kmom03: Virtual Hosts

By . Latest revision .

Nu kan vi enkelt snurra igång en Linuxmiljö så låt oss se hur vi kan använda containern som en server och installera ett par webbplatser på den. Det låter som en vettig syssla för en webbprogrammerare.

Ett bra sätt att installera många webbplatser på en och samma maskin är Apache Virtual Hosts och det är något vi skall bekanta oss med. Vi ska skapa namnbaserade webbplatser som ligger på samma domän med hjälp av webbservern Apache.

Apache2.

Apache2.

(Detta är instruktionen för kursmomentet och omfattar det som skall göras inom ramen för kursmomentet. Momentet omfattar cirka 20 studietimmar inklusive läsning, arbete med övningar och uppgifter, felsökning, problemlösning, redovisning och eftertanke. Läs igenom hela kursmomentet innan du börjar jobba. Om möjligt – planera och prioritera var du vill lägga tiden.)

#Läs-/videoanvisningar

(ca: 8-12 studietimmar)

#Video

Till kursen finns en videoserie. Titta på videorna som börjar med 03.

#Övningar & Uppgifter

(ca: 4-10 studietimmar)

#Övningar

Genomför följande övningar.

  1. Läs igenom artikeln “Kom igång med Apache”. Här ska du inte utföra delarna utan det räcker att du läser igenom de olika stegen.

  2. Läs stycket om verktyget “grep” i artikeln “Text processering”.

  3. Jobba dig igenom delen om Apache virtual hosts i Docker guiden.

  4. Ha lite koll på Docker guiden. Framförallt delarna om Dockerfile och volymer.

#Uppgifter

Dessa uppgifter skall utföras och redovisas.

  1. Gör uppgiften Lab 2 för att träna upp grundläggande färdigheter i bash och hantering av filsystem. Här jobbar du i mappen kmom03/bash2. Glöm inte att exekvera labben i en container så resultaten blir rätt.

  2. Gör uppgiften “Skapa en webbplats på en Apache Virtual Host”. Här arbetar du i mappen kmom03/vhosts.

  3. Lägg till redovisningstexten i din me-sida.

#dockerhub.bash

  1. Skapa ett Bash-script, kmom03/dockerhub.bash som kör din publicerade image. Filerna ska servas via en volym där mappen med filerna tas emot som argument. Utgå alltid från den egna kontexten ($(pwd)). Mappa sökvägen mot din valda DocumentRoot i config-filen. Man ska till exempel kunna göra på följande sätt:
$ pwd
/home/klw/dbwebb-kurser/vlinux/me/kmom03
$ bash dockerhub.bash "vhosts/mysite1"
$ pwd
/home/klw/dbwebb-kurser/vlinux/me/kmom03/vhosts
$ bash dockerhub.bash "mysite1"

Man ska med andra ord skicka in sökvägen som argument. Scriptet ska enbart fånga upp och använda det.

  1. Containern ska kunna nås via port 8080 (-p).

  2. Containern ska köras i bakgrunden (-d).

  3. Containern ska ha namnet “mysite” (–name).

  4. Lägg till hosten via docker run. Den ska heta mysite.vlinux.se.

Har du fått med alla delar?

#Testa din inlämning

Du kan köra vissa tester på din inlämning och se om de delarna uppfyller kraven. Rättningen kommer endast genomföras om testerna går igenom.

$ dbwebb test kmom03

#Resultat & Redovisning

(ca: 1-2 studietimmar)

Läs instruktionen om hur du skall redovisa.

Se till att följande frågor besvaras i redovisningstexten.

  • Hur känns konceptet med Apache name-based Virtual Hosts? Känner du igen det sedan tidigare?
  • Det blir allt fler kommandon i terminalen, hur känns det med terminalen och dess kommandon?
  • Har du koll på portar och hur vi kan använda dem?
  • Hur kändes det att jobba med volymer?
  • Reflektera över hur du känner inför Unix som operativsystem så här långt.

#Revision history

  • 2023-09-04: (C, lew) Uppdaterad inför HT23.
  • 2022-05-09: (B, lew) Uppdaterad inför HT22.
  • 2019-03-25: (A, lew) Ny inför HT19.

Document source.