Windows Subsystem for Linux
WSL
âThe Windows Subsystem for Linux lets developers run GNU/Linux environment -- including most command-line tools, utilities, and applications -- directly on Windows, unmodified, without the overhead of a virtual machine.â - Microsoft.com
Det hÀr dokumentet innehÄller ett flertal instruktioner för hur du kommer igÄng och sÀtter upp en fungerande utvecklarmiljö med Windows Subsystem for Linux (WSL) och Ubuntu.
Majoriteten av de kommandon som visas kör du i terminalen, genom ett skal (engelska shell). Det Àr dÀrför vÀldigt viktigt att du följer instruktionerna noggrant och att du fÄr kommandona att fungera innan du gÄr vidare. Jag kan inte skriva eller sÀga det nog mÄnga gÄnger och det Àr:
LÀs vad som sker pÄ din skÀrm! NÀstan alla kommandon ger felmeddelanden nÀr det inte fungerar. MÄnga kommandon ger inte nÄgot meddelande alls nÀr de fungerade.
För att fÄ ut det mesta ur detta dokument och förstÄ sÄ Àr det sjÀlvklart bra om du har en grundlÀggande kunskap om hur du anvÀnder terminalen; Bash eller Powershell. I slutet av dokumentet finns det en samlad lista över anvÀndbara kommandon.
Installation
Viktigt: WSL 2
Förhoppningsvis kan du vid installationstillfÀllet köra WSL 2. Se följande guide.
Windows krÀver att du slÄr pÄ en feature för att kunna installera WSL. Starta Powershell som administratör och kör följande kommando.
Windows kommer att be dig starta om datorn nÀr kommandot Àr utfört. NÀr din dator startat om sÄ startar du sedan Microsoft Store och söker efter Ubuntu.
VĂ€lj senaste versionen av Ubuntu LTS och installera.
Skriv in ett anvÀndarnamn under installationen nÀr den frÄgar. VÀlj ett lösenord som du kommer ihÄg!
NÀr installationen Àr fÀrdig sÄ startar du Ubuntu och kör följande kommandon med apt, apt Àr Ubuntus pakethanterare. Först uppdaterar apt Ubuntus listor över paket. Sedan uppgraderar apt de paket som behöver uppdateras.
Kommandot sudo lÄter dig köra program med rÀttigheterna för superuser, Linux root konto. Det behövs ofta nÀr du ska installera program. Försök undvika det om möjligt av sÀkerhetsskÀl.
Ubuntu körs nu i ett fönster under Windows och ger dig tillgÄng till ett flertal program som anvÀnds vid webbutveckling. Det utan att behöva virtualisera eller dual-boota Linux.
För att komma Ät andra diskar eller partitioner med Windows filer pÄ nÀr du kör Ubuntu sÄ hittar du dem i /mnt.
List kommandot visar de filsystem som Àr aktiva under Linux. Kör du en skoldator med en disk sÄ kommer du med största sannolikhet sec
, vilket Àr disken som Àrc:
under Windows.
Visual Studio Code
Innan du fortsÀtter behöver du installera Visual Studio Code (förkortat till vscode). HÀmta vscode hÀr.
Vscode Àr en integrerad utvecklingsmiljö (pÄ engelska Integrated Development Environment, IDE). Ett program som innehÄller flera verktyg för att koda.
I vscode Àr inte WSL dess standard shell. För att byta shell i vscode behöver du Àndra instÀllningarna.
I menyn -> Terminal -> New Terminal
Vscode kommer att öppna ett nytt terminalfönster, för att vÀlja default shell klickar du som pÄ bilden och vÀljer sedan WSL.
NÀsta steg Àr att skapa goda förutsÀttningar för att arbeta med kod i vscode. Börja med att skapa en mapp i c: med namnet code (om du inte har en sedan tidigare). Skapandet av mappen gör du i Windows.
Att samla kod pÄ ett stÀlle Àr bÄde praktiskt och bra praxis.
För att enkelt komma Ät code-mappen ska du skapa en symbolisk lÀnk (symlink) till den. Navigera till hem-mappen i WSL/Ubuntu och skapa lÀnken sÄhÀr:
List kommandot visar om symlinken skapats. Ăr den röd saknas kĂ€llan och det har blivit fel. Du kan se hur det ser ut hĂ€r nedanför.
Ăppna code-mappen och lista innehĂ„llet.
GitHub
För att anvÀnda GIT med WSL behöder det installeras.
Git kan nu anvÀndas frÄn WSL. NÀr du gör din första commit kommer Git efterfrÄga dina anvÀndaruppgifter. AnvÀndaruppgifterna anger du med följande kommandon.
MÄnga program i Linux-miljö ger inget meddelande nÀr de lyckas.
Gits terminal-kommandon finns i detta Cheat Sheet.
LAMP server
I webbserver-kursen kommer du att fÄ prova pÄ ett antal olika typer av webbservrar. LAMP Àr en akronym för en typ av server och betyder en webbserver med Linux, Apache, MySQL och PHP. Det finns flera varianter av *AMP dÀr första bokstaven byts ut beroende pÄ vilket operativsystem du anvÀnder, till exempel WAMP och MAMP. Eftersom du kör en Linux distribution, Ubuntu, under Windows sÄ installerar du en LAMP-server.
Ubuntu har en fÀrdig samling paket för LAMP-server.
Svara [Y] pÄ frÄgorna och vÀnta pÄ att den ska ladda ner och installera paketen. Förhoppningsvis sÄ gÄr det bra, strular det sÄ prova att starta om installationen.
Apache
Apache Àr ett open source webbserver-projekt som har funnits sedan 1995. Apache Àr den absolut vanligast förekommande webbservern pÄ internet. I en LAMP-server sÄ Àr alltsÄ Apache sjÀlva webbservern.
Apache startas pÄ Ubuntu som en service.
NÀr en service startar och fungerar sÄ stÄr det [OK] till höger i terminalen. Eventuella meddelande Àr varningar eller annat. SÄ lÀnge det stÄr [OK] sÄ Àr tjÀnsten startad. Annars stÄr det [FAIL].
Fungerade det att starta din service, [OK], sÄ kan du nu öppna en webblÀsare och surfa till http://localhost.
localhost Àr ett alias för din dators loopback interface som har ip-adressen 127.0.0.1.
Om det stÄr ett felmeddelande, [FAIL], sÄ behöver det felsökas. Det vanligaste felet nÀr du försöker starta Apache Àr att port 80 Àr blockerad.
En port Àr en adress som trafiken skickas till. En webbservers standardport Àr 80.
Windows anvÀnder ofta port 80 för olika tjÀnster. Du kan undersöka det med hjÀlp av Powershell.
Det finns tvÄ sÀtt att ÄtgÀrda problemet med att Windows anvÀnder port 80. Antingen avslutar du och stÀnger av tjÀnsterna som blockerar port 80, eller sÄ Àndrar du vilken port Apache ska anvÀnda. Det enklare sÀttet Àr att konfigurera om vilken port Apache anvÀnder.
Med textredigeringsprogrammet Nano Àndra raden dÀr det stÄr Listen 80
till Listen 88
. Spara sedan filen i Nano genom att trycka ctrl+o
, följt av enter och sedan ctrl+x
för att avsluta.
Apache behöver sedan starts om. Om Apache startar och du ser [OK] sÄ surfa till http://localhost:88 med webblÀsaren. Webbservern anvÀnder nu port 88 och du mÄste ange det med :88
efter adressen.
Apache-logfiler för felsökning finns under /var/log/apache2.
MySQL
MySQL Àr en databashanterare som anvÀnder sprÄket Structured Query Language (SQL). Precis som Apache Àr MySQL ett open source-projekt som började 1995. MySQL Àr den databasserver som anvÀnds i LAMP.
PĂ„ Ubuntu startas MySQL-server som en service.
MySQL-servern ligger nu i bakgrunden och vÀntar pÄ att anvÀndas. MySQL anvÀnder port 3306 som standard och det behöver inte Àndras.
En MySQL-server anvÀnds genom nÄgon form av klient. Klienten kan vara ett program, en webbtjÀnst eller annat. För att koppla upp en klient till en MySQL-server behövs det en anvÀndare och ett lösenord. Första gÄngen du gör detta sÄ anvÀnder du sudo och en lokal MySQL-klient.
Sudo anvÀnds hÀr för att skapa en uppkoppling till MySQL-servern frÄn MySQL-klienten med anvÀndaren root (-u root). Om uppkopplingen till MySQL-servern fungerade sÄ kör följande kommando för att skapa dig en anvÀndare. Byt ut username
och password
mot dina egna uppgifter.
Skriv ett lösenord som du kommer ihĂ„g och inget âviktigtâ lösenord.
Kommandot skapa en anvÀndare för alla databaser pÄ localhost med username och password. För att avsluta skriver du exit.
AnvÀnd sedan MySQL-klienten för att testa anvÀndaren.
VÀl inne pÄ servern sÄ skrivs kommandon med SQL.
MySQL-logfiler för felsökning finns under /var/log/mysql.
phpMyAdmin
FrÄn MySQL-klienten anvÀnds SQL för att styra databasen och köra kommandon. Det Àr viktigt att du lÀr dig grunderna i SQL. Men för att förenkla arbetet med MySQL-servern finns det en klient som heter phpMyAdmin. phpMyAdmin kan installeras med apt.
VÀlj följande vid installationen:
apache2 server.
Database common.
config, generate password.
Apache2 anvÀnder ett modulÀrt system för konfiguration. För att slutföra installationen av phpMyAdmin mÄste vi skapa en symlink till konfigurationsfilen och berÀtta för systemet att den ska anvÀndas.
Kommandot skapar en symlink som heter phpmyadmin.conf och som pekar till kÀllfilen. Du kan se hur det ser ut hÀr nedanför.
NÀsta steg Àr att aktivera konfigurationen med kommandot a2ensite
.
Starta sedan om Apache och surfa till http://localhost/phpmyadmin eller http://localhost:88/phpmyadmin beroende pÄ webbserverns port.
Userdir
Linux sparar alla anvÀndares data i /home
, det Àr din hem-mapp. För att förenkla arbetet med filer till webbservern anvÀnds en modul till Apache som heter userdir. Userdir kopplar en mapp, public_html, i hem-mappen till webbservern.
Skapa sedan mappen public_html i hem-mappen.
Surfa sedan till http://localhost/~USER eller http://localhost:88/~USER, dÀr USER Àr ett Linux username.
PHP
PHP: Hypertext Preprocessor (PHP) Àr ett skriptsprÄk för webbservrar som anvÀnds för att skapa dynamiskt innehÄll. Det fungerar sÄ att PHP kod tolkas och omvandlas till text. Apache behöver konfigureras för att tillÄta PHP i public_html. För att göra det behöver modulens konfigurationsfil redigeras.
Kommentera ut följande rader med #
.
Apache behöver sedan startas om.
Skapa sedan en ny fil i public_html för att testa om PHP fungerar.
Surfa sedan till localhost/~USER/info.php med webblÀsaren. Fungerar det sÄ ser presenteras information för webbservern. NÀr PHP inte fungerar sÄ skrivs koden ut pÄ det sÀtt den skrivs, det sker alltsÄ ingen tolkning av Apache.
Node.js
Node Àr en annan webbserver. Node har ett eget avsnitt i denna guide, Node och Express
Resultat
Du har nu installerat och skapat en grym utvecklingsmiljö dÀr du kan utföra ditt utvecklingsarbete. Du slipper krÄngliga Windows-lösningar som XAMPP och kan köra programmen under WSL vilket ger mycket större kontroll.
Miljön anvÀnder ett shell i Linux vilket Àr standarden inom det hÀr omrÄdet och otroligt viktigt att behÀrska.
Bash
Att kunna navigera i bash Àr en förutsÀttning för anvÀndningen av WSL. HÀr Àr nÄgra av de kommandon som du bör lÀra dig. De flesta kommandon i linux ger dig bra hjÀlp om du skriver.
Kommando
Förklaring
sudo
sudo kommando, anvÀnds nÀr du behöver köra nÄgot som superuser
ls -la
list, visa alla filer och mappar i nuvarande mapp
cd
change directory, byt mapp till den du skriver efter kommandot.
Skriver du enbart cd kommer du till din hem mapp /home/username
mkdir
mkdir namn, skapa en ny mapp med namn
rm -rf
remove, -rf för att ta bort mappar, följt av filnamn
cp
copy, kopiera fil A till B
mv
move, flytta fil A till B
nano
nano Àr ett textredigeringsprogram
cat
cat filnamn, för att skriva ut en fil i terminalen
history
history ger dig en lista över vilka tidigare kommadon du kört.
Du kan upprepa kommandon frÄn historia med !##, dÀr ## Àr siffran
apt
apt Àr Ubuntus pakethanterare som du anvÀnder för att installera program.
apt update, apt upgrade, apt install
man
man kommando, ger dig manualen för det kommando du namnger
ln -s
link -s för att skapa en symbolisk lÀnk, frÄn fil A till B
ifconfig
konfigurera nÀtverks grÀnssnitt, skriv för att se nuvarande konfiguration
Listan Àr lÄng, lÀs mer hÀr och hÀr.
Last updated
Was this helpful?