Installera PHP, Apache och MySQL under Windows
Från Internet sidan: http://ematte.se/tut/wamp.php
Gör det lätt att starta/stoppa Apache
Få PHP att samverka med Apache
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.
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):
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):
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).
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 bredvid
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.php på DirectoryIndex-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
Denna sida ligger på , ett
interaktivt, dynamisk matematikläromedel för grundskola och gymnasieskola