Dokumentation för VLDIT AB Online classroom
2 Introduktion VLDIT AB önskar area för att tillhandahålla ett kursutbud online för sina befintliga deltagare, men även för nya. Syfte för applikationen: tillhandhålla ett kursutbud där deltagare kan registrera sig, efter registrering och påloggning, nå kursutbudet som erbjuds. VLDIT AB är intresserad av den nya tekniken med containers och lösningen skall gå att på ett enkelt sätt föras över till denna teknik. Av denna orsak valdes Ubuntu och LAMP. Virtuell maskin ligger på Azure, lagring av videomaterial finns lagrat i Azure Storage. Avgränsning för projektet: Betalningsfunktionen kommer att finnas med i del 2 av projektet. I del 2 lades även funktionen för beställning av kursmaterial.
3 Innehåll Introduktion... 2 Hantering av applikations livscykel... 4 Krav... 5 Koncept... 6 Implementering... 7 Användaregränsnitt/API... 8 Information... 11 Utrullning... 12 Skötsel... 15
4 Hantering av applikations livscykel Säkerhetsuppgraderingar, andra uppdateringar Operativsystemet skall uppdateras med tillhörande säkerhetsuppgraderingar och andra uppgraderingar. Detta gäller även för både webbserver och SQL-databas. Borttagning För eventuell borttagning av webbsite, ta bort allt som finns under katalogen /var/www/html. Innan borttagning av databas, gör säkerhetskopiering av denna. Sedan kan denna tas bort. Kvalitetskontroll Innan site tas i bruk, kommer den att testas av testgrupp. Denna testgrupp består dels av anställda inom vldit AB, dels deltagare i pågående utbildningar. För detta syfte har siten lagts i Azure och kan nås via vldit.easec.se.
5 Krav Grundkrav Site kräver webbserver i grunden, i form av Apache. Siten kräver även databas av typen MySQL. Videouppspelning För att videouppspelning på Linux eller andra typer av enheter, måste videoavsnitt produceras i olika format. Dessa format är.mp4,.ogv och.webm.
6 Koncept Inloggningsfunktion Fälten i inloggningsrutan är skyddad mot SQL Injection. Kontroll sker så att den information som skrivs in, inte innehåller någon typ av SQL-kommando. Lösenordet är skyddat på MD5 hash. Bara hash som skickas vidare för kontroll mot SQL Databasen. För kommunikation mot MySQL används ADOdb 1. Session Inbyggd funktion hanterar session mot webbsite, efter en viss tid utan arbete kommer användare att loggas ut. Användare kommer att skickas till frontsidan. När användare klickar på logout, kommer sessionen att nollställas. Nästa gång användare ansluter till siten, kommer han/hon att få logga på. Språkversion Språket på siten skall vara på engelska, inga andra språk är planerade. 1 http://adodb.sourceforge.net/
7 Implementering Webbsiten drivs av LAMP (LinuxApacheMySQLPHP), detta måste finnas installerat. För Apache och MySQL används senaste versionen. För PHP är version 5.5. Det är tämligen enkelt att ändra webbserver eller variant av MySQL.
8 Användaregränsnitt/API Användaregränsnitt Användaren anger länken: courses.vldit.com, eller klickar på länk från VLDIT AB:s hemsida. Första sidan som visas, presenterar siten: Om användare inte har någon inloggning, får använder via login, skapa sitt konto med tillhörande lösenord. Inloggning, när användaren har inloggning, klickar användaren på Sign In. Här anger användaren sin inloggningsinformation med tillhörande lösenord.
9 Klicka på Sign in. Denna del presenterar tillgängliga kurser för användaren. Här finns även möjlighet för användare att logga ut. Användare väljer kurs som verkar intressant, genom att dubbelklicka på kurs. Detta öppnar upp ny bild, där video kommer att startas. För mobila enheter, kommer inte videofilm att startas automatiskt.
10 När användare har sett klart, kan han/hon klicka på back för att komma tillbaks till sida med utbudet eller alternativet klicka på logout, för att logga ut.
11 Information Lagring Videofilmerna finns lagrade i Block Blobs under Azure Storage. I Azure Storage har container med namnet vlditab skapats, till denna har rättigheten Read satts. Information om användare lagras i databas av typen MySQL. Rättighetssystem För närvarande finns inget rättighetssystem inbyggt, men är lätt att bygga in.
12 Utrullning Förutsättning: Ubuntu 14.04 TLS installerat och uppdaterat. Installation av apache. Steg 1: Skriv in följande kommando: sudo apt-get install apache2, klicka Klicka på J för att bekräfta att du vill installera, klicka Installation av mysql. Steg 1: Skriv in följande kommando: sudo apt-get install mysqlserver, klicka Klicka på J för att bekräfta att du vill installera, klicka Steg 2: Ange lösenord för root-användare i MySQL. Klicka Steg 3: Bekräfta lösenordet, genom at skriva in samma lösenord ytterligare en gång, klicka på Enter. Aktivera MySQL. Steg 4: Skriv in följande kommando: sudo mysql_install_db, klicka Avsluta installationen av MySQL. Steg 5: Skriv in följande kommando: sudo /usr/bin/mysql_secure_installation, klicka Ange rootlösenordet, som du angav tidigare. Klicka Klicka på n, därefter på Enter, för du har redan satt ett lösenord. Steg 6: Välj Y följt av Enter, för resterande frågor. Installation av PHP.
13 Steg 1: Skriv in följande kommando: sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt php5-mysql, klicka därefter på Enter. Klicka på J för att bekräfta att du vill installera, klicka därefter på Enter. Skapa databasen. Steg 1: Skriv in följande kommando: mysql u root p, klicka därefter på Enter. Ange rootlösenordet, klicka Steg 2: Skriv in följande kommando: CREATE DATABASE `dblogin` ;, klicka Steg 3: Skriv in följande kommando: CREATE TABLE `dblogin`.`users` (, klicka Steg 4: Skriv in följande kommando: `user_id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY,, klicka Steg 5: Skriv in följande kommando: `user_name` VARCHAR( 25 ) NOT NULL,, klicka Steg 6: Skriv in följande kommando: `user_email` VARCHAR( 50 ) NOT NULL,, klicka Steg 7: Skriv in följande kommando: `user_pass` VARCHAR( 60 ) NOT NULL,, klicka Steg 8: Skriv in följande kommando: UNIQUE (`user_name`),, klicka Steg 9: Skriv in följande kommando: UNIQUE (`user_email`), klicka
14 Steg 10: Skriv in följande kommando: ) ENGINE = MYISAM ;, klicka För att verifiera att databas har skapats. Steg 11: Skriv in följande kommando: show databases;, klicka För att avsluta MySQL. Steg 12: Skriv in kommandot: exit, klicka
15 Skötsel Hantering Funktionen kräver webbserver och att databas är igång. För att starta webbserver, skriv in följande kommando: sudo service apache2 start, klicka För att starta om webbserver, skriv in följande kommando: sudo service apache2 restart, klicka För att starta MySQL, skriv in följande kommando: sudo service mysql start, klicka För att starta om MySQL, skriv in följande kommando: sudo service mysql restart, klicka Lagring på filsystemet Site med tillhörande filer finns lagrat under katalogen: /var/www/html. För siten finns.htaccess-fil konfigurerad, med följande: AddType video/mp4 mp4 mv4 AddType audiop/mp4 m4a DirectoryIndex front.php Konfigurationen av site sker i.htaccess-filen, som ligger i den katalog där site ligger.