Hej!
Syftet med denna labben är att få lite hands-on känsla för hur Node.js fungerar hos oss. Så egentligen ger jag dig bara en ursäkt till att skapa en app, titta på lite ful kod som jag skrivit, och att titta i loggfilen.
Det är fritt fram att samarbeta (men max 2 pers per inlämning) och diskutera eller att jobba individuellt!
Lycka till!
Först, skapa en Node app på ditt cPanelkonto.
Du kommer behöva sätta upp appen på en domän, förslagsvis en underdomän som heter nodelab.DINDOMÄN, men vadsom som jag kommer kunna besöka vid slutet av labben går bra!
Den kod som kommer användas i denna labben är testad med version 24.6.0, koden kanske funkar ändå med andra versioner, men jag rekommenderar att du kör samma.
Se gärna vår supportartikel för hur du skapar en ny app.
När appen är skapad, kolla så att den fungerar när du besöker den. Sen se om du kan ändra på den default-koden som skapats upp, försök lägga till t.ex. "Hello World" på den sidan som visas för besökaren.
Obs att ändringar på koden inte påverkar live-sidan förrän appen startats om!
I en terminal och som din cPanel-user (Inte som root!), ställ dig i appens katalog och kör kommandot 'npm init'.
Obs hur appens katalog inte är samma som dokumentroten för domänen. Om du missade det tidigare så kan du behöva kika i domänens .htaccess för att ta reda på vilken mapp som är "AppRoot"
npm init kommandot skapar en package.json fil som beskriver din app.
Vi kommer också behöva modulen 'nodemailer'. Men OBS att vi ska inte köra npm install nodemailer (som man kanske hade gjort annars på en egen server).
Detta eftersom vi kör CloudLinux, och Node.js appar hos oss behöver köras genom CLs selector, och de tillåter inte att moduler läggs direkt i app-katalogen. Så vi behöver sköta moduler genom deras gränssnitt.
I cPanel > Node.js, tryck på pennan vid din app och sen 'Edit' på den package.json som borde ha dykt upp här sedan du körde npm init.
I dependencies så behöver vi lägga till '"nodemailer": "^7.0.12"' (Med "citationstecknen" men utan 'fnuttarna')
Sen tryck på Run NPM Install. Den kommer gå igenom filen och där den ser dependencies så installerar den modulerna på "rätt" sätt.
Obs. Run NPM Install kan ge ett felmeddelande vid detta laget om att "operation was performed, but check availability of application has failed", detta är OK, vår app är ofärdig trots allt! Om ni inte hade sönder er app vid detta laget (som jag gjorde) så borde ni inte få det meddelandet.
Slutligen, kopiera koden från filen nedan och klistra in den i din egen app.js
Glöm inte att starta om appen efter att du klistrat in min kod
Se den output du får ut.
Okay, så i denna "fina" koden jag gett er finns ett par fel eller saker som fattas för att den ska funka.
Din uppgift nu är att få koden till att funka!
Tips #1: Om du får en stor och ful 503-sida. Kika då i filen stderr.log för att få en ledtråd om vad det kan vara som behöver lagas. Och glöm inte starta om appen efter dina ändrignar.
Tips #2: Du behöver studera koden och lista ut vad som fattas för att få den till att kunna skicka ett mail till mig när man trycker på knappen 'Send'.
Tips #3: Du kan behöva göra andra saker på ditt cPanelkonto för att få appen till att funka.
Du har lyckats med labben när jag kanbesöka och använda din app för att skicka ett mail till mig.
Mailet ska innehålla ditt/era namn i ämnesraden. Och mailet ska skickas till adressen nodelab1@felixtest.hemsida.eu.
Du skickar adressen för din app till mig via Mattermost när du vill att jag ska testa.