Kmom03: Virtual Hosts
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.
(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.
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.
Läs stycket om verktyget “grep” i artikeln “Text processering”.
Jobba dig igenom delen om Apache virtual hosts i Docker guiden.
Ha lite koll på Docker guiden. Framförallt delarna om Dockerfile och volymer.
#Uppgifter
Dessa uppgifter skall utföras och redovisas.
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.Gör uppgiften “Skapa en webbplats på en Apache Virtual Host”. Här arbetar du i mappen
kmom03/vhosts
.Lägg till redovisningstexten i din me-sida.
#dockerhub.bash
- 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 valdaDocumentRoot
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.
Containern ska kunna nås via port 8080 (-p).
Containern ska köras i bakgrunden (-d).
Containern ska ha namnet “mysite” (–name).
Lägg till hosten via
docker run
. Den ska hetamysite.vlinux.se
.
#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.