Installera PHP, Apache och MySQL under Windows

*                   Från Internet sidan: http://ematte.se/tut/wamp.php

*                    

*                   Varför och för vem?

*                   Men först, varför Apache?

*                   Installera Apache

*                                           Testa om det gick vägen

*                                           Gör det lätt att starta/stoppa Apache

*                   Installera PHP

*                   Få PHP att samverka med Apache

*                                           Redigera httpd.conf

*                   Installera MySQL

*                   Få igång MySQL

*                   Kommunicera med MySQL

*                   phpMyAdmin

*                   Redigera php.ini

Att ändra rootkatalog – sök myweb4 eller vilken det nu är:
Hur som helst, Apache är stoppad, nu skall vi redigera hur Apache skall köra när vi startar den igen: i katalogen C:\Apache2\conf\ (C:\Apache\conf\) hittar du httpd.conf. Den skall du öppna med en texteditor (Notepad, ConTEXT, Editplus...)
Sök:
DocumentRoot och <Directory i httpd.conf.

Varför och för vem?

Detta är skrivet för dig som kör Windows och som hört talas om allt roligt man kan göra med dynamiska webbsidor (php) och nu känner att du vill komma igång själv. För att du skall kunna testa egna eller nedladdade php-script måste du först installera några program på din dator:

*                   en webbserver (webbservern är ett program, inte en dator). Här hjälper vi dig installera Apache

*                   PHP (server side språket som åstadkommer dynamiken)

*                   databashanteraren, i det här fallet MySQL

Vi kommer att gå igenom hur du installerar Apache som webbserver, hur du installerar php och får php att samverka med Apache, och hur du installerar och får igång MySQL (MySQL är en databashanterare, det finns många andra). Dessutom lite i slutet om några inställningar man kan göra i php.ini.

Men först, varför Apache?

Det finns några olika Internetservrar utvecklade for Windows: IIS, PWS, 2003 Server. Om du vill använda dig av någon av dessa servrar kan du sluta läsa här. Jag har knappt några erfarenheter av att köra någon av MS' webbservrar. Men annars är frågan relevant. För det första är de allra flesta webbservrar en Apache server, så din hemsida blir troligtvis servat av en Apacheserver! För det andra är Apache gratis, vilket är en mycket stor fördel om du utvecklar dynamiska webbsidor och inte har tid/råd att först ladda upp ett nytt php-script till din hemsideserver varje gång du vill testa scriptet. För det tredje har php utvecklats för att fungera bra tillsammans med Apache och MySQL. För det fjärde är det lätt att lägga till funktioner i Apache, för det femte ...
Skit i 'varför', låt oss få igång Apache servern.

Installera Apache

Du hittar installationsfilen här: http://httpd.apache.org/download.cgi. Det finns två versioner att välja mellan: 2.0.XX (XX just nu är 48) och 1.3.XX (just nu: 29). Som en tumregel för versionsvalet: har du Windows ME, 2000 eller XP kan du ladda ned version 2 och då fungerar även filen med filändelse .msi (apache_2.0.48-win32-x86-no_ssl.msi). Har du Windows9X (95/98) eller WinNT tar du hem exe-filen (apache_1.3.29-win32-x86-no_src.exe). Är du osäker på om du kan ladda ned msi-filen eller inte kan du testa följande: På Startmenyn väljer du Kör... och skriver in msiexec. Kommer det upp ett dialogfönster som heter Windows Installer fungerar det bra med *.msi.

Kör msiexecMicrosoft Installer finns

Det finns alltid undantag, mer om detta kan du läsa på http://httpd.apache.org/download.cgi Under installationen får du upp ett fönster där du skall ange lite serverinfo (visade fönster är från msi-versionen av installationen):

Information om servern skall anges

Om du skriver 127.0.0.1 eller localhost går på ett ut. På frågan om du vill köra Apache som service (Tjänst) eller endast för dig själv så gäller följande: Windows9X, ME ingen service, annars service. Nästa dialogfönster ser ut så här (i msi-versionen):

Välj 'Custom' för att kontrollera installationskatalogen

Vill du ha kontroll över var Apache skall ligga på din burk väljer du Custom, annars Complete. Om du vill ha Apache i roten på C skall du ange Install to C: (inget katalognamn, katalogen skapas). Då är det klart.

Testa om det gick vägen

Att allt har gått väl under installationen kontrollerar du på följande sätt: Starta din webbläsare och skriv adressen 127.0.0.1 i adressfältet. Nu skall du få upp Apaches välkomsthälsning med texten Det fungerade! Apache är installerad på denna maskin! Följ länken Apache-dokumentationen och bokmärk sidan. Bra när du vill lära dig mer om Apache.

Gör det lätt att starta/stoppa Apache

För dig som inte kan köra Apache som service/tjänst kan du göra följande: Lägg en genväg i autostartkatalogen (Start, Program, högerklicka på Autostart, Öppna, högerklicka i autostartfönstret, välj Nytt och därefter Genväg) till Apache.exe (finns i binkatalogen eller i Apachekatalogen beroende på version). Högerklicka på genvägen, välj Egenskaper. Välj att köra i Minimerat fönster. Nu kommer Apache att starta automatisk efter omstart av din dator. Vill du ha ytterligare ett sätt att snabbstarta Apache kan du ange kortkommando (t. ex. CTRL+SHIFT+A som du ser här).

Genväg till bat-fil snabbstartar Apache

Grattis! Nu fortsätter vi, php nästa!

Installera PHP

Gå till php's download-sida: http://www.php.net/downloads.php. Där vill du se att php finns i version 4 (stabil) och version 5 (beta). Vi rekommenderar att du installerar php4.
Vilken fil? Det finns en zip-fil och en mycket mindre exe-fil (windows installer). Det kan vara frestande att ta filen php 4.3.4 installer men ladda alltid ned zip-filen. Därför att du dels får med fler funktioner (extensions) i din phpinstallation, dels därför att det är enda sättet att kunna köra Apache som server API modul (Application Programming Interface) vilket är det sättet vi vill visa här.
Kommentar: OM du installerar php på en PWS- eller IIS-server OCH OM du önskar installera CGI-varianten av php OCH OM du inte tänker använda dig av några 'extensions', DÅ kan du installera php med hjälp av installer-filen.

Packa upp zip-filen till C:\php. Gå in i katalogen. I roten hittar du filen php4ts.dll samt filen php.ini-recommended. Flytta php4ts.dll till sapi-katalogen. php.ini-recommended kopierar du till C:\Windows (9X, ME, XP) respektive C:\WINNT (2000, NT) och ändrar namnet till php.ini. Eller ännu bättre: lägg php.ini i samma katalog som Apache.exe!
Det finns en annan php.ini (php.ini-dist). Utvecklarna av php skriver att php.ini-recommended är för produktion och php.ini-dist för utveckling. Eftersom vi förmodar att du utvecklar för att använda online föreslår vi 'recommended'. Läs mer om detta
längre fram. Nu är du färdig med installationen av php. Grattis!

Få PHP att samverka med Apache

Om Apache kör: stäng Apache. Har du tvåan hittar du ApacheMonitor ApacheMonitorbredvid klockan. Programmet gör det lätt att hantera Apache, t. ex. att starta/stoppa servern. Har du Apache 1.3.XX kan du ladda hem något program som gör det enkelt att starta/stoppa Apache (sök, filen kan heta apmgr.exe). Tills du har det programmet kan du göra så här: Öppna en DOSprompt (DOSfönster) och CD-a dig till C:\Apache2\bin\ (C:\Apache\) där Apache.exe ligger. I DOSprompten skriver du nu apache -k shutdown och trycker enter. Vill du göra det lätt för dig skriver du en Apacheshutdown.bat-fil med följande innehåll apache -k shutdown och lägger denna filen i samma katalog som Apache.exe. Skapa sedan en genväg till filen och lägg genvägen på skrivbordet. Voila! Samma teknik för att starta: apache -k start

Redigera httpd.conf

Hur som helst, Apache är stoppad, nu skall vi redigera hur Apache skall köra när vi startar den igen: i katalogen C:\Apache2\conf\ (C:\Apache\conf\) hittar du httpd.conf. Den skall du öppna med en texteditor (Notepad, ConTEXT, Editplus...). Längst ned i httpd.conf (för då vet du var du har grejerna) skall du tillfoga följande två rader:

LoadModule php4_module "c:/php/sapi/php4apache2.dll"

AddType application/x-httpd-php .php

Förklaring: Apache skall leta i c:/php/sapi/ efter filen php4apache2.dll för att kunna köra php4.

Är du nyfiken på php5 skall första raden vara

LoadModule php5_module "c:/php/sapi/php4apache2.dll"

OBS! Om du installerar version 1.3.XX av Apache måste följande rader läggas in i httpd.conf istället för det som skrevs ovan:

LoadModule php4_module c:/php/sapi/php4apache.dll

AddModule mod_php4.c

AddType application/x-httpd-php .php

Alltså bort med tvåan i filnamnet och rad två är ny.

Om du även tänker använda dig av andra filtyper kan man åstadkomma det såhär:

LoadModule php4_module "c:/php/sapi/php4apache2.dll"

AddType application/x-httpd-php .php .php3 .phtml

AddType application/x-httpd-php-source .phps

Den sista raden gör att en fil med ändelsen phps visar filens kod med färgsättning i webbläsaren.

Är du nyfiken av dig och vill testa php5 utan att bli av med php4 behöver du ha följande rader i httpd.conf:

LoadModule php4_module "c:/php/sapi/php4apache2.dll"

ScriptAlias /php5/ "c:/php5/"

Action application/x-httpd-php5 /php5/php.exe

AddType application/x-httpd-php .php

AddType application/x-httpd-php5 .php5

Förklaring: raderna 1 och 4 känner du igen, de gör så att php4 körs som modul (php4apache2.dll parsar dina *.php-filer). Raderna 2, 3 och 5 är nya. De gör så att filer av typen *.php5 (rad 5) parsas av php.exe i php5-katalogen (packa upp php5 till c:\php5).

Medans du har httpd.conf öppen kan du ta en titt på raden som börjar med DirectoryIndex. Om du vill slippa skriva index.php i sökvägen (http://localhost/minsida/ istället för http://localhost/minsida/index.php) lägger du till index.phpDirectoryIndex-raden:

DirectoryIndex index.htm index.php index.html index.html.var

Om det finns en index.htm och en index.php i samma katalog kommer index.htm att läsas först (ordningsföljden).

Titta gärna igenom httpd.conf och försök förstå lite av hur du kan kontrollera Apaches uppförande med hjälp av denna inställningsfil. För att lära ytterligare, läs dokumentationen. Stäng httpd.conf
Dags att testa om php körs på Apache, så i texteditorn skriver du

<?php

phpinfo();

?>

och sparar som en fil med filnamnet info.php i Apache/htdocs (kom ihåg att du nyss har talat om för Apache att php4apache2.dll skall tolka php-filer!). Starta Apache (håll tummarna för att du gjort rätt) och starta din webbläsare, och skriv http://127.0.0.1/info.php i adressfältet. Tjofaderittan saltgurka! Nu har du fått Apache att samverka med php och kan sluta läsa, eller? Javisst, vi skulle ju även ha databaser i vår lekstuga.

Installera MySQL

Först hämtar du filen från http://www.mysql.com/downloads/ Just nu är den senaste stabila versionen 4.0.17 (februari 2004). För Windows finns det två filer att välja mellan. Vi rekommenderar den största filen (23 Mb!) därför att installationen kommer med Setup, vilket gör det hela enklare. Skulle du ha tillgång till MySQL på en CD-rom och har en långsam internetanslutning, installera från CD'n. Det innebär att du kanske får en äldre version, men som nybörjare spelar det mindre roll. Installationen är väldig rakt fram så den ordar vi inget om. Lägg MySQL i C: så som föreslås. Så, nu har du din databashanterare, och den kostade inte skjortan (somliga gör!).

Få igång MySQL

Om du kör MySQL på Windows9X eller ME och vill starta MySQL skriver du följande i en DOSprompt: C:\mysql\bin\mysqld
Och stänger gör du med
C:\mysql\bin\mysqladmin -u root shutdown
Om du befinner dig i bin-katalogen och öppnar DOSprompten där använder du enbart kommandot utan sökväg. Du kan lägga en genväg i autostart till en bat-fil i bin-katalogen med det angivna startkommandot, eller så har du en bat-fil för att starta och en för att stoppa med genvägar till skrivbordet.
På NT, 2000 och XP kan man installera MySQL som service/tjänst och det bör man göra. Skriv i en DOSprompt:
C:\mysql\bin\mysqld --install

Nu är servicen installerat, men MySQL har inte startats. För att starta tjänsten krävs att du gör två saker. Först skapar du en fil, my.ini, i en texteditor. Filen skall se ut så här:

[mysqld]

basedir=C:/mysql

datadir=C:/mysql/data

language=C:/mysql/share/swedish

[WinMySQLadmin]

Server=C:/mysql/bin/mysqld-nt.exe

user=root

password=xxxxx

Spara filen i C:\Windows (C:\Winnt). Kommentar: programmet winmysqladmin.exe som finns i C:\mysql\bin kan skapa my.ini åt dig. Första gången du kör programmet blir du ombedd att ange user och password (om du inte följt anvisningarna ovan vill säga, för då finns redan dessa värden i my.ini). Fliken my.iniSetup ger dig möjlighet att editera my.ini
Det nästa du gör är att öppna Kontrollpanelen, Administrationsverktyg, Tjänster. Eftersom du nyss installerade tjänsten så kommer du att se den där. Markera tjänsten och välj Starta. Om du fortfarande har ett DOS-fönster öppet är detta ännu snabbare:
net start mysql. Och för att stoppa: net stop mysql
En kommentar här: Att få igång tjänsten mysql kan "gå av sig själv", vid mysqlinstallation på tre olika XP-system har ovan beskrivna operation varit nödvändig i två av fallen.

Kommunicera med MySQL

Du bör nog ta dig tid att studera manualen i C:\mysql\Docs\manual_toc.html och i synnerhet kapitel 3 (Tutorial Introduction). Använd DOSprompten för att manipulera databaser. Överallt där du ser shell>någon query i tutorialen kan du byta shell> mot C:\>, med andra ord DOSprompten. MySQL levereras med ett litet verktyg winmysqladmin.exe som med ett grafiskt gränssnitt ger dig möjlighet att redigera my.ini, att välja vilken mysqld-fil som skall användas etc. Du kan däremot inte använda programmet för att skicka queries/förfrågningar till MySQL. Det är ju det du skall ha php till. Men, måste man jobba med DOSprompt eller php-script? Finns det inget annat? Lugn, det gör det.

phpMyAdmin

Ett av de vanligaste verktygen för att kommunicera med MySQL (det vanligaste?) är phpMyAdmin, som via ett webbgränssnitt låter dig göra allt vad du kan önska dig med MySQL. Du kan hämta den senaste versionen (just nu: phpMyAdmin-2.5.4-php.zip) av phpMyAdmin från http://www.phpmyadmin.net/. Man installerar phpMyAdmin genom att lägga filerna i htdocs (i katalogen phpMyAdmin). Dessutom behöver du redigera filen config.inc.php. Följande rader ändras på angivet sätt:

$cfg['PmaAbsoluteUri'] = 'http://127.0.0.1/phpMyAdmin/';

 

$cfg['Servers'][$i]['host'] = 'localhost';

$cfg['Servers'][$i]['user'] = 'root';

$cfg['Servers'][$i]['password'] = 'your_mysql_root_password';

// lämna tomt = ''; om du inte vill använda lösenord

Nu kan du med webbläsaren surfa till http://127.0.0.1/phpMyAdmin/. Nu har du skaffat dig de nödvändiga verktygen för att komma igång med php och databaser. Lycka till med kodningen.
Andra verktyg: det finns några frontends som uppför sig som dina vanliga Windowsprogram: MyFrontend, MySQLCC (Control Center), MySQL-Front, mysqlgui. Med dessa kan du också utföra queries/förfrågningar.

Redigera php.ini

Med php.ini kan du påverka hur php skall uppföra sig. Filen är uppdelat i olika sektioner. Öppna php.ini i din texteditor. Första sektionen är (förutsatt att du använde php.ini-recommended).

About this file

Läs gärna hela detta avsnittet. Om du får problem med ett script kan det bero på inställningar i php.ini, inställningar som har ändrats i nyare php-versioner.

Language Options

Använder du AddType application/x-httpd-php-source .phps i httpd.conf skall du ta bort kommenteringen framför färgerna för 'Syntax Highlighting' (rad 220).

Error handling and logging

Läs igenom de första raderna så du ser hur man kan få php att rapportera om fel. Du ser att standardinställningen är error_reporting = E_ALL (php hittar alla fel).
En lägre nivå, som gör att man slipper se notiser (en notis gäller småfel som inte hindrar scriptet från att köras) är
E_ALL & ~E_NOTICE. Vi rekommenderar att du använder inställningen E_ALL till att börja med men att du använder E_ALL & ~E_NOTICE i skarpt läge.
Några rader längre ned står det
display_errors = Off. Ändra till On (Varning: enbart om du använder Apache/php för att utveckla/testa script!). display_errors = On gör att alla fel i dina script skrivs ut i webbläsarens fönster, med hänvisning till raden i scriptet där felet finns.
Nästa ändring:
html_errors = Off sätts till On. Ta nu bort kommentartecknet (;) framför docref_root = /phpmanual/ och docref_ext = .html. Förklaring: När du hämtat manualen från http://www.php.net/download-docs.php i html format (versionen med många filer) och packat upp den till katalogen C:\Apache2\htdocs\phpmanual så kommer denna inställning av php att skapa klickbara länkar till dokumentationen om den funktion i php som du använt fel i ditt script. Ta nu bort kommentartecknet framför error_prepend_string = "<font color=ff0000>" samt framför error_append_string = "</font>" (och ändra färgen om rött inte passar dig) om du önskar färgsätta felmeddelandena.

Data Handling

Detta är ett viktigt avsnitt. Viktigast här är register_globals = Off. Om du skall testa gamla script kan det vara nödvändigt att ändra till On, men läs varningen! Om du tänker säkerhet är det viktigt att dina script fungerar med register_globals = Off. Hitta nu register_argc_argv = Off lite längre ned i php.ini. Denna kan du ändra till On om du använder dig av formulär som skickar variabler med GET, till exempel: /link/to/next/file.php?variable1=value1&variable2=value2

Paths and Directories

Om du vill ladda php med någon extra modul, t. ex. GD-biblioteket så måste du ange sökvägen till var dessa 'extensions' ligger: extension_dir = "c:\php\extensions".

Dynamic Extensions

Om du önskar använda dig av GD2 skall du ta bort kommentartecknet framför extension=php_gd2.dll (filen måste så klart finnas i c:\php\extensions men det gör den).

Sessions

Sista sak att göra i php.ini (ifall du tänker använda sessioner) är att ange var sessionens tempkatalog skall ligga (vi är nu på rad 817 i ini-filen). Skriv till exempel session.save_path = C:\windows\temp. Det går ju bra med någon annan katalog också, så länge katalogen existerar. Spara och stäng php.ini. Gör gärna en kopia av filen och lägg någon annan stans.

© Øystein Håland 2003 - 2004. Dokumentet skapat juli 2003. Senast ändrad 2004-02-03 00:55:33
Skicka gärna epost om du har synpunkter på sidan. Om du har frågor ställer du dessa i ett lämpligt forum på
phpportalen

Valid XHTML 1.1!  Valid CSS!  Bobby WorldWide Approved AAA

Denna sida ligger på ematte, ett interaktivt, dynamisk matematikläromedel för grundskola och gymnasieskola