fredag 18 september 2009

Installera Apache, PHP och MySQL på Vista

Har du problem att installera på Vista? Det vanligaste problemet är rättigheter. Se till att du är inloggad som  användare med Admin-rättigheter och stäng av UAC. Sen funkar det precis som "vanligt". Om du fortfarande har problem så fortsätt att läsa.

Här följer en kort-kort guide till installationsfasen inklusive de vanligaste problemen som du kan stöta på.

Ladda ned Apache, PHP, MySQL samt MySQL GUI Tools
Ladda ned alla programvaror och spara i en katalog. Bra att ha om du behöver installera om något av programmen. Jag väljer att ladda ned följande program.
(NOT. 2010-09-04. MySQL GUI Tools ersätts av MySQL Workbench http://wb.mysql.com/)

Så här blev det.



I version 5.3.0 av PHP så finns det flera alternativa nedladdningar. Efter lite googlande så verkar det som "V6 thread safe" är den version som fungerar tillsammans med Apache.

Installera Apache
Du kan installera Apache utan att stänga av UAC. Som Administratör, starta installationsprogrammet, gör en standard installation. Apache startar upp. Öppna din webbläsare och peka på http://localhost eller http://127.0.0.1. Det bör se ut som följer.



Nu fungerar Apache. Ett vanligt problem är att IIS redan är installerat och använder port 80. Installera (eller konfigurera) isåfall Apache att använda sig av port 8080 istället.

Stäng av UAC
Innan du fortsätter med PHP, stäng av UAC via kontrollpanelen.
Control Panel \ User Accounts \ Turn User Account Control On or Off
Vista kommer be dig att starta om, gör det.

Installera PHP
Stäng av UAC, som administratör, kör installationsprogrammet.
I fliken "Web Server Setup", klicka för "Apache 2.2.x Module".
I fliken "Select Apache Configuration Directory" så pekar du ut Apaches conf-bibliotek vilket normalt är:

C:\Program Files\Apache Software Foundation\Apache2.2\conf\

I fliken "Choose items to install", verifiera att "Extensions - MySQLi" installeras.
Installationen skall genomföras utan några felmeddelanden. Du kan sätta på UAC igen om du vill.

Verifiera att PHP fungerar med Apache
Gå till Apaches htdocs-katalog. Den ligger parallellt med conf-katalogen.
Sätt på så att filändelserna visas (Explorer -> Tools -> Folder Options... -> View -> Hide extensions for known filetypes). Klicka på ALT för att visa Tools-menyn.
Skapa en fil test.php med nedanstående innehåll.

<?php phpinfo(); ?>

Starta om Apache (för att läsa in ändringarna i httpd.conf-filen) och peka din webbläsare mot filen, tex: http://localhost/test.php. Så här kan det se ut. Verifiera att extension mysql finns installerad genom att titta i webbsidan som visas.



Ett vanligt problem är att installationsprogrammet inte lyckas uppdatera Apaches httpd.conf. Verifiera genom att kontrollera att följande kod ligger sist i den filen.

#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

PHPIniDir "C:/Program Files/PHP/"
LoadModule php5_module "C:/Program Files/PHP/php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

Om UAC är avstängt så skall det dock fungera utan problem.

Installera MySQL
Det är ok att ha UAC påslaget igen. Som administratör, kör installationsprogrammet. Fortsätt med att konfigurera MySQL. Ange ett root-lösenord, i övrigt kan du låta default-inställningarna vara. MySQL databasserver startar upp.

Verifiera att MySQL fungerar
Öppna en kommantool (cmd.exe), flytta dig till installationsbiblioteket för MySQL. Gå ner i underkatalogen bin där de exekverbara programmen ligger. För min del gäller C:\Program Files\MySQL\MySQL Server 5.1\bin.

Starta MySQL's kommand line utility med följande kommando. Ange därefter det lösenord som du gav root under MySQL's installationsfas.

mysql -u root -p

Om du kan logga in så vet du att MySQL fungerar.

Verifiera att PHP och MySQL fungerar
De följande stegen verifierar att PHP och MySQL fungerar ihop. Vi utför dessa genom att skapa en användare i MySQL och en databas med tillhörnade tabell. Vi lägger även in några värden i tabellen.
Därefter skapar vi ett PHP-skript som kopplar upp sig mot databasen och plockar ut värdena från den.

Skapa användare och databas i MySQL
Öppna MySQL komman lined utility igen. Kör följande kommando och verifiera att du får samma utskrift som i skärmbilden nedan.

DROP DATABASE IF EXISTS phptest;
CREATE DATABASE phptest;

GRANT ALL ON phptest.* TO 'mos'@'localhost' IDENTIFIED BY 'hemligt';
use phptest;
DROP TABLE IF EXISTS Namn;
CREATE TABLE Namn( fornamn CHAR(20) );

DELETE FROM Namn;

INSERT INTO Namn(fornamn) VALUES ('Mikael'), ('Tage'), ('Harald');
SELECT * FROM Namn;



Sådärja, nu finns det en databas med lite innehåll.

Ett PHP skript för att koppla sig mot MySQL
Gå till Apaches htdocs-katalog och skapa en ny fil, testmysql.php. Kopiera in följande kod in i filen. Peka din webbläsare till filen http://127.0.0.1/testmysql.php och se om du får ut innehållet i tabellen.

<?php $mysqli = new mysqli('127.0.0.1', 'mos', 'hemligt', 'phptest');
$query = "SELECT * FROM Namn;";
$res = $mysqli->query($query) or die("Could not query database");
while($row = $res->fetch_object()) {
  echo $row->fornamn;
}
$res->
close();
$mysqli->close();
?>



Sådärja. Det var några enkla steg för att komma igång med Apache, PHP och MySQL.

Installera MySQL GUI Tools
Som administratör, kör installationsprogrammet. Starta applikationen MySQL Query Browser. Logga in med den användaren som du använde i PHP-MySQL testet.



Sådärja, nu är allt på plats. Lycka till!

2 kommentarer:

  1. Verifierar att allting fungerar som det ska på Windows Vista fullt uppdaterad (19 juli 2010).

    Fungerar även alldeles utmärkt på Windows 7 fullt uppdaterad (19 juli 2010). Behöver inte stänga av UAC.

    SvaraRadera
  2. mySQL verktyget heter workbench nu istället för query browser

    SvaraRadera