Göm menyn

729G28 Webbprogrammering och databaser

Instruktioner för installation av XAMPP


XAMPP är ett paket som innehåller Apache, MySQL, PHP, PHPMyAdmin, är ett enkelt och gratis sätt att installera den vanligaste uppsättningen serverteknik för PHP-webbutveckling, och det är det verktyg vi rekommenderar för att genomföra labbarna i 729G28 om man vill använda egen dator. Instruktionerna täcker både Linux, Windows och Mac. Hör gärna av dig till kursansvariga om du hittar något som inte längre stämmer! I allmänhet finns det även gott om guider och hjälp på nätet om det strular.

Innehåll

  1. Installera XAMPP
  2. Starta Apache och MySQL-server
  3. Lägg upp filer på servern
  4. Skapa en användare och en databas
  5. Ändra lösenord på Root-användaren
  6. Anslut till MariaDB med terminalprogram
  7. Anslut till MariaDB med Python/PHP

Installera XAMPP

Instruktionerna i den här guiden är tänkta att vara tillräckliga för att komma igång, men FAQ och officiella instruktioner och FAQ hittar du här. (Samma sida kommer du till när du laddar ned installationsfilen till din dator). Google är också din vän om du märker att du behöver mer information eller guider, eller om något strular. Kör du fast är du välkommen att höra av dig till Kursassistent.

Windows

https://www.apachefriends.org/index.html Klicka på "Xampp for windows" för att ladda ned installationsfilen. Kör den nedladdade installationsfilen. Gå igenom en wizard. Klart!

MacOS

Det finns 2 olika versioner av Xampp på Mac, och defaultversionen är en Virtuell Maskin som tyvärr inte det som är smidigast att använda för en normal människa, utan istället ska du ladda ner xampp-osx-7.4.12-0-installer.dmg, som du hittar som alternativ nr 2 på den här sidan: https://sourceforge.net/projects/xampp/files/XAMPP%20Mac%20OS%20X/7.4.12/. Ladda alltså INTE ned den som slutar på "...-vm.dmg"

När nedladdningen är klar kan du om du vill lägga ut .dmg-filen på skrivbordet eller annat ställe där du vill ha den. Dubbelklicka på .dmg. Ett fönster med en ikon föreställande ett paket med symboler i öppnas. Dubbelklicka sedan på den ikonen. En installations-wizard ska öppnas och installera filer på Applications/Xampp. (Applications är det hemliga namnet på Program-mappen om man har svenskt macOS).

Här finns en referensvideo för installation på MacOS, på härlig dialekt ^^ https://www.youtube.com/watch?v=L2X6fDiqOC4&ab_channel=DavidConnelly

Linux

https://www.apachefriends.org/index.html Klicka på "Xampp for Linux" för att ladda ned installationsfilen.

Installationsfilen är inte körbar direkt, utan du måste manuellt ändra körrättigheterna. Öppna en terminal och navigera till där mappen din installationsfil ligger (troligtvis ~/Downloads). Kör kommandot: chmod 755 xampp-linux-*-installer.run

Nu är filen är körbar och du kan köra installationsprogrammet sudo ./xampp-linux-*-installer.run Klicka igenom en wizard. Klar!

Starta Apache och MySQL-server

Windows

Programmet Xampp Control Panel bör vara installerat som program på din dator nu, och där kan du starta Apache och MySQL. Hittar du inte programmet på vanligt vis bör det ligga här: C:\xampp\xampp_start.exe

MacOS

Appen Xampp Control bör vara installerad nu och där kan du starta Apache och MySQL. Hittar du inte appen på vanligt vis bör den ligga här: /Applications/XAMPP/manager-osx.app

Om servern för MySQL inte skulle gå igång kan det möjligen bero på att den mysql som mac levereras med sedan ett par år tillbaka redan är igång och använder sagda port (jfr filmen in installationsinstruktionerna). Stoppa i så fall den genom att gå till Systeminställningar, klicka MySQL (längst ner) och där klicka knappen "stop MySql server".

Linux

sudo /opt/lampp/lampp start

Öppna en webbläsare och gå till http://localhost/, så får du se en välkomstskärm om allt funkat. Annars, kontrollera att du har startat Apache-servern.

Lägg upp filer på servern

Alla filer som ska synas i webbläsaren behöver ligga i en undermapp i din Xampp-installation som heter htdocs.

Windows: C:\xampp\htdocs
Linux: /opt/lampp/htdocs
MacOS: /Applications/XAMPP/xamppfiles/htdocs

Praxis är att man gör en ny undermapp i htdocs för varje nytt projekt man gör. T.ex. kan en mapp för den här kursen heta 729G28. Lägg då dina projektfiler i (...)/htdocs/729G28/.

När Apache-servern är igång kan du då se dina filer i webbläsaren genom att navigera till http://localhost/729G28.

Skapa en användare och en databas

Vi kommer i kursen främst att interagera med databaser genom terminalprogram, eller annan kod. Men för att sätta upp ditt användarkonto och din databas i början kan det vara lättare att använda det grafiska hjälpmedlet PHPMyAdmin, som kommer installerat med XAMPP. I PHPMyAdmin kan du även skapa databaser, men det är också enkelt att göra i terminalprogrammet (se under rubriken Anslut till MariaDB nedan).

Se till att din MySQL-server är igång (se ovan).

Öppna webbläsaren och gå till http://localhost/phpmyadmin/.

Nu bör du se en kontrollpanel. Klicka på "User Accounts" i toppmenyn. Under en tabell med några default-användare finns rubriken "New", och länken "Add user account". Klicka på den, så kommer du till ett formulär för att skapa en ny användare. Fyll i vad du vill som användarnamn och lösenord, på "Host name", välj "local" i drop-downlistan.

Exempel:
Username: Liu729
Hostname: localhost
Password: *******
Re-type: *******

Om du vill kan du också i samma steg skapa en databas genom att under rubriken "Database for user account" klicka i den lilla checkboxen "Create database with same name and grant all privileges." Ditt användarnamn kommer i det här fallet också vara namnet på databasen. (Dock kommer ev. stora bokstäver i användarnamnet att omvandlas till små bokstäver i databasnamnet). I exempelfallet blir då databasnamnet liu729.

Vid rubriken "Global Privileges", kryssa i "Check all".

Scrolla ned till slutet av sidan och klicka på den lilla knappen i högra hörnet märkt "Go".

Sådär! På vänstersidan bör du nu se att det dykt upp en ny databas i listan, med det namn du angett. Och klickar du på tabben "User Accounts" igen ser du att det dykt upp en ny användare i tabellen.

Innan du lämnar PHPMyAdmin finns det dock en säkerhetsgrej att göra också:

Ändra lösenord på Root-användaren

På många system finns det en default-användare som heter "root", och som har fulla behörigheter på systemet. Att inte ha ett lösenord på root-användaren är en säkerhetsrisk, eftersom vem som helst teoretiskt sett kan komma åt din databas med fulla behörigheter. Xampp installeras utan lösenord eftersom man ska kunna komma igång lätt, men så snart som möjligt bör man alltså sätta ett lösenord på root-användaren. Se instruktioner i länken https://www.meersworld.net/2019/02/how-to-set-root-password-in.html

Anslut till MariaDB med terminalprogram

När din MySQL-server är igång kan du ansluta genom ett terminalprogram. Ersätt <username> nedan med det användarnamn du skapade i steget ovan. När du kör kommandot kommer det dyka upp en password prompt nedanför, där du skriver in det lösenord som hör ihop med användarnamnet. Det kan hända att det inte syns någon text när du skriver ditt lösenord (t.ex. på linux), men den registrerar ändå att du skriver.

Windows

c:\xampp\mysql\bin\mysql.exe -u -p

MacOS

/Applications/xampp/xamppfiles/bin/mysql -u -p

(Notera att det inte ska vara mellanslag mellan -u och ditt användarnamn). Om du försöker starta det genom att navigera till /bin-mappen och sedan starta med bara "mysql" kan det ev. bli problem om du tidigare kört mysql på datorn, så använd helst hela pathen så du pekar på rätt mysql.

Linux

/opt/lampp/bin/mysql -u -p

Efter att du skrivit in ditt lösenord och tryckt enter bör din terminal ha bytt utseende till något såhär ungefär:

MariaDB [(none)]>

Då är du ansluten till MariaDB. Om du inte redan skapat en databas kan du göra det med följande kommando (notera semikolon på slutet).

create database ;

Du öppnar din databas genom att skriva:

use <databasnamn>

Där <databasnamn> ersätts av namnet på din databas. Med den exempelanvändare som skapades ovan skulle det alltså se ut nåt såhär på en windows-maskin:

...>c:\xampp\mysql\bin\mysql.exe -u Liu729 -p
Enter password: *******
Welcome to the MariaDB monitor. Commands end with ; or \g.
...
...
MariaDB [(none)]>create database liu729;
MariaDB [(none)]>use liu729
MariaDB [liu729]>

Nu kan du jobba med databasen enligt instruktionerna i labbarna, på samma vis som om du kör via thinlinc.

För att komma ur MariaDB-miljön (tillbaka till din vanliga terminal) skriver du "exit".

Anslut till MariaDB med Python/PHP

Kontrollera att din MySQL-server är igång. För att ansluta till din lokala databas i python i t.ex. del B i projektet behöver du bara byta ut inloggnings- och serveruppgifterna till dina lokala inloggningsuppgifter och databasnamn. Notera bytet av host till "localhost". Port borde inte behöva bytas.

conn = pymysql.connect(host='localhost', port=3306, user='Liu729',
passwd='MyPass147', db='liu729', charset="utf8mb4")

Liknande förfarande i connectdb.php för de senare labbarna.

$servername = "localhost";
$username = "Liu729";
$password = "MyPass";
$db = "liu729";