www.Deserveit.se >

Berörda ämnen

Serverteknik

Andra artiklar inom samma ämne

Installera MySQL i Windows, Installera phpMyAdmin, Virtual host

Installera apache och php i Windows

Tillbaka till artiklar

Innehållsförteckning

Förord

WAMP, installation och konfiguration

Äntligen var det dags att få ut en artikel som behandlar installation av servermjukvara för webben! Vi vet att många tycker att webbserverinstallation är riktigt klurigt (vilket det också är), så vi tänkte att det var dags att vi skrev en genomgående artikel på svenska som beskriver förfarandet.

Detta är den första delen ur en artikelserie som lär dig installera apache, php och mysql på en Windows XP-server. Dock gäller nog 95% av av allt vi säger andra Windowsversioner också, så om du har t.ex. Windows 2000 eller Windows ME så borde du hänga med bra.

Denna kombination med mjukvaror på en Windowsplattform kallas även WAMP (Windows, Apache, MySQL, PHP) och är ett mycket kraftfullt paket för dig som vill konfigurera en egen server.

Bör ej användas publikt

Bara ett gott råd...

Sanning med modifikation, du får ju naturligtvis göra precis som du vill. Men observera att vi inte är några renodlade servertekniker (och än mindre kommer utbilda dig till en), så försök helst inte använda vår konfiguration kommersiellt. Denna konfiguration lämpar sig mycket väl på en utvecklingsmaskin på kontoret (eller i garderoben), alternativt som en bas för ett intranät, men inte som webbhotell eller för annan publik onlinetjänst.

Tekniken håller däremot mycket hög klass

Verktygen i goda händer håller absolut för kommersiell tung belastning och är enligt oss och väldigt många andra marknadens bästa - men det behövs proffs för att konfigurera servrar så att säkerhet och prestanda håller god klass. Det är möjligt att de inställningar vi gör här duger för att driva en vanlig webbplats, men vi lämnar inga garantier på det och uppmuntrar absolut till att ta in en serverexpert som ser över och korrigerar alla viktiga inställningar innan du släpper in stora mängder besökare.

Förutsättningar, systemkrav

Windows XP

Vi räknar med att du har Windows XP, men om du är lite uppmärksam på de mjukvaror vi använder och att du är beredd att ta egna initiativ så kan du nog följa guiden väldigt väl även med andra Windowsversioner.

32-bitarssystem

Vi förutsätter att du har ett 32-bitarssystem (både processor och Windows-version), men även här kommer du klara dig bra med 64 bara du är uppmärksam och laddar ned eventuella 64-bitarsversioner där de finns. Med detta menar vi att varje gång vi laddar ned en mjukvara så ska du titta på respektive webbplats och se om det finns en 64-bitarsversion och i så fall ta ned denna. Det är ditt ansvar att vara uppmärksam på vad respektive webbplats och tillverkare säger om sina versioner.

Enhet C

Vi kommer installera alla mjukvaror på enhet C, samt att även webbkatalogen kommer hamna där (adress C:\www för att vara exakt). Därför är det bra om du har ungefär 500 mb ledigt så att det inte tar stopp för dig.

Du kan ändra sökvägen själv om du vill, men du får vara uppmärksam så att du ersätter denna adress med din varje gång vi använder vår variant.

Svårighetsgraden är väl medel skulle vi säga. Om man aldrig har rört en server eller något nätverkstekniskt förr så kan det anses vara ganska svårt, men å andra sidan går vi igenom ganska mycket från grunden, så det borde vara lugnt ändå. Dock behöver du inte förstå allt vi gör, utan gör som vi säger bara och anta att det är facit. Vi förstod heller inte vad vi gjorde första gångerna vi satte upp webbservrar, förståelsen kommer med tiden.

Vi förutsätter också att du vet på ett ungefär vad Apache, PHP och MySQL är för något. Om du är osäker på något, fråga gud (google).

Ladda ned all mjukvara

Webbserver: Apache

http://www.apache.org. Om man inte är med i matchen så blir man lätt uppfintad på läktaren om man går in på apache.com. Det är en reklamsite med helt annan målsättning än att vara uppskattad.

Vi klickar på HTTP Server högst upp i vänstermenyn.

I skrivande stund ser jag "Apache 2.2.4 Released" och en download-länk under denna. Där klickar jag.
En nedladdningssida visas och jag ser en rubrik med texten "Apache HTTP Server 2.2.4 is the best available version" och under där finns bland annat "Win32 Binary (MSI Installer)" och klickar på länken intill denna.

Direktlänk: http://apache.dataphone.se/httpd/binaries/win32/apache_2.2.4-win32-x86-no_ssl.msi (4.3 mb)

Modul: PHP

För att kunna programmera PHP på webbservern så måste vi lära den vad PHP är för något. Detta gör vi genom att ladda ned och sedan aktivera php-modulen.

http://www.php.net

I menyn i toppen ser vi downloads - dit går vi. Sedan ser vi rubriken "Windows Binaries" och där under klickar jag på den näst översta som är en "installer" och inte en enkel "zip-fil" (aktuell version är 5.2.2).


Man ska välja en mirror och jag väljer den övre, tack Chalmers.

Direktlänk: http://se.php.net/get/php-5.2.2-win32-installer.msi/from/this/mirror (21.5 mb)

Databashanterare: MySQL

http://www.mysql.com är en bra start.

Redan på första sidan ser vi till höger "MySQL Community Server" och "Download" och dit ska vi!
Eftersom vi antar att vi har en 32-bitars processor väljer vi den versionen som heter just "Windows" i listan och sedan väljer vi den som heter "Windows (x86) ZIP/Setup.EXE" och klickar på "Pick a mirror".

Sedan vill MySQL AB veta vilka som använder deras prylar och önskar att man fyller i lite uppgifter om sig själv. Men det är inget man behöver göra, klicka på valfri "HTTP" i listan med servrar att ladda ned ifrån. Ser du en med Svensk flagga så är det perfekt. Spara filen.

Direktlänk: http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.41-win32.zip/from/http://mysql.dataphone.se/ (47 mb)


Databasverktg: phpMyAdmin

Detta är egentligen inget måste, men detta är ett makalöst bra verktyg för att administrera sina MySQL-databaser om man använder Apache och PHP. Detta är det bästa vi har provat och vi använder det själva till alla våra webbprojekt.

http://www.phpmyadmin.net

Senaste versionen just nu är 2.10.1 och vi väljer filen all-languages.zip för att kunna få svenska.
Vi kommer där till en nedladdningssida som automatiskt startar en nedladdning.

Direktlänk: http://prdownloads.sourceforge.net/phpmyadmin/phpMyAdmin-2.10.1-all-languages.zip?download (4.2 mb)

Det var allt, och det du har laddat ned borde se ut ungefär såhär (alternativt att du har senare versioner):



Nu ska vi börja installera!

Installation av mjukvara

Sådär, då har vi samlat ihop alla applikationer vi behöver, och inte bara det, vi har marknadens kanske mest populära applikationer i sin genre!

Vi antar att du använder samma sökvägar som vi gör till både applikationer och webbkataloger. Det blir enklare att följa exemplet och installationen kommer gå snabbare om du gör som vi gör i detta exempel. Om du ändå använder andra sökvägar än oss så måste du vara uppmärksam då de sökvägar vi anger när vi gör inställningar kanske inte fungerar hos dig.

Installera Apache

Installation

Jag dubbelklickar på installationsfilen vi laddade ned.
Ett formulär presenteras där de vill ha lite serverinformation. Jag brukar alltid fylla i datorns namn där bara, samt en godtycklig epostadress i det nedre fältet.


Sen ska man välja typ av installation, vi kör alltid med Typical, det fungerar prima för de flesta dödliga.



Efter detta följer några ointressanta rutor som förbereder installationen där man bland annat kan ställa in sökväg, men vi använder standardkatalogerna.

Sedan ser vi den här trevliga rutan, ibland undrar man om det kan bli enklare!
Tyvärr är vi inte klara än dock, vi har knappt börjat.


Från och med nu är din webbserver startar i bakgrunden som en "tjänst" och kommer att startas automatiskt varje gång Windows laddas in.

Konfiguration

Vi börjar med att gå in i apachemappen (C:\Program\Apache Software Foundation\Apache2.2).

Där har vi en katalog som heter conf där det finns inställningsfiler. Här har vi en av de viktigaste filerna för din webbserver httpd.conf.

Gör först en kopia på filen, kalla den t.ex. httpd-old.conf. Det kan vara bra att ha en originalversion ifall vi får problem med inställningarna senare.
Öppna nu originalfilen i valfri textbehandlare och sök efter DocumentRoot. Några rader nedanför den träffade raden borde du se:

DocumentRoot "C:/Program/Apache Software Foundation/Apache2.2/htdocs"

Där ser du sökvägen till en katalog som heter htdocs, som är din katalog där dina webbsidor ska ligga. Dock vill vi inte ha katalogen där, vi vill ha en lite smidigare sökväg. Vi kommer flytta denna rotkatalog så att roten ligger i en mapp som heter www som ska ligga direkt under C:
Skriv om denna sökväg så att den ser ut såhär:

DocumentRoot "C:/www"

OBSERVERA SNEDSTRECKET då det är ett slash och inte ett backslash som du kanske normalt använder om du är van med Windows. Här kan du om du vill läsa mer om skillnader mellan slash och backslash.

Sedan scrollar vi ned en halv skärm, eller rättare sagt 25-30 rader och ser denna text:

<Directory "C:/Program/Apache Software Foundation/Apache2.2/htdocs">

Vad ser vi precis ovanför den? Jo "# This should be changed to whatever you set DocumentRoot to." - bra, då gör vi så, raden ska alltså nu se ut såhär:

<Directory "C:/www">

Sedan söker vi på DirectoryIndex.

Ett par rader nedanför träffen ser vi en rad som ser ut såhär:

DirectoryIndex index.html

Gör om den så att det står

DirectoryIndex index.html index.php

Det vi gör nu är att vi förklarar för webbserven att om man surfar direkt till en katalog (som man väldigt ofta gör) så kommer filer som heter index.html och index.php automatiskt att anropas om någon av dem finns.

Det innebär att om du har en fil vid namn index.php som ligger i katalogen C:\www\test\ så behöver du inte surfa till http://localhost/test/index.php utan det räcker bra med http://localhost/test/. index.html och index.php öppnas alltså automatiskt om någon av dem finns. Om ingen sådan fil hittas så visas en vy med alla filer och mappar i aktuell katalog.

Sedan sparar vi filen, stänger den och backar ett steg i katalogträdet så att vi är i roten av Apachekatalogen.
Ta nu katalogen htdocs och lägg den direkt i roten på C: och döper om katalogen till www.

Om du nu går in i katalogen så borde du se något i stil med detta:


Dags att testköra

Som du kanske har observerat så har du fått en liten ikon nere till höger på skärmen.
Detta är ett snabbverktyg för apache där du kan nå praktiska inställningar och verktyg om du behöver göra något med servern, t.ex. starta om den om den skulle krascha, eller om du har ändrat inställningar och behöver aktivera ändringarna.

Detta är ett ypperligt tillfälle att lära oss använda detta verktyg! Servern har faktiskt redan varit startad en stund och vi har ändrat några detaljer nyligen, så nu behöver vi starta om den för att den ska fungera på det sättet vi har ställt in!

Klicka på ikonen, peka på Apache2 och välj Restart.

Öppna nu din webbläsare och skriv i adressfältet: http://localhost/ och tryck enter.

Om du får se en trevlig självbeskrivande text (It works!) så har du gjort allt rätt hittills. Om du inte ser den texten, då har du gjort allt fel! Nej då, men dubbelkolla att du har skrivit allt rätt.

Den absolut troligaste orsaken är att du har matat in något fel. Antingen ett felvänt snedstreck eller någon annan form av stavfel. Det är extremt lätt gjort, så dubbel- och trippelkolla att allt stämmer. Får du inte ihop det - fråga gud.

Installera PHP

Installation

Först den mysiga välkomstskärmen som vanligt:


Sedan kommer ett par ointressanta rutor, som leder oss till den här:

Här ska vi ställa in vilken webbserver PHP ska anslutas till. Här är det viktigt att vi väljer rätt apacheversion, annars kommer inte PHP och Apache fungera ihop.
Vi installerade apache 2.2 och väljer således detta i listan.

Sedan vill installationsprogrammet veta var vi har vår konfigurationsmapp för apache. Denna har vi redan varit inne i en gång, vi vet att den ligger här:

Här är det jätteviktigt att vi inte har något avslutande snedstreck! Bläddra gärna fram rätt katalog och radera eventuellt snedstreck på slutet. Så, ovanstående bild har alltså ett snedstreck för mycket.

Anledningen till att det ska bort är att PHP automatiskt nu kommer gå in i httpd.conf och lägga till inställningar, och då används den sökvägen du har skrivit in i scriptet - plus att det adderas extra text på slutet, som inleds av ett snedstreck. På grund av att den som har programmerat installationsfilen är en klåpare så kontrollerar inte scriptet om det redan är ett backslash på slutet - utan antar att det inte är något och adderar blint ett eget oavsett om det finns eller ej.

Sedan får vi en ruta där vi kan välja vilka objekt som ska installeras, här ska vi gå in under Extensions och bläddra ned till ca 50% och välja Multi-Byte String och klicka på ikonen till vänster och välja "Entire feature ...". Under denna har vi Mcrypt - gör samma sak med den, sedan 5-6 rader under har vi MySQL - gör samma sak även här. Då ska det se ut såhär:

Var noga med att det verkligen är MySQL du markerar och inte MSSQL eller något liknande som önskar att det vore MySQL.

Bra, klicka next och fortsätt med installationen.

Sedan klickar vi oss vidare genom installationens slutfas.


Konfiguration

Vi börjar med att gå in i vår nya php-katalog som borde finnas här:
C:\Program\PHP

Där borde det finnas en fil som heter php5ts.dll
Kopiera den filen till c:\windows\system32\

I php-katalogen har vi också en fil vid namn php.ini, öppna den i valfri texthanterare (ett dubbelklick borde räcka).

Sök efter doc_root. Ett par rader under den träffade raden borde du se en rad som ser ut såhär:

doc_root =

Där ska vi skriva dokumentroten, alltså din webbrot. Precis samma katalog som vi har matat in vid ett tidigare tillfälle.

Raden ska nu se ut såhär:
doc_root = c:/www

Test

Surfa in i din webbrot och skapa en katalog vid namn test (c:\www\test\).
Skapa ett ny fil där vid namn index.php (t.ex. genom att skapa ett nytt textdokument, "Spara som", "index.php", "Filformat: Alla filer".)

Det är jätteviktigt att du försäkrar dig om att filen verkligen heter index.php så att det inte råkar bli index.php.txt (för då är det fortfarande en textfil och inte en phpfil).

Öppna sedan index.php och lägg in följande text, varken mer eller mindre:


<?php echo("Det fungerar!"); ?>




Starta om servern och surfa till index.php genom att skriva in följande adress i ditt adressfält i webbläsaren:
http://localhost/test/

Om du ser texten "Det fungerar!" då kan vi gratulera dig till en perfekt installation av apache och php!



Om du istället ser något likt bilden ovan - testa att klicka på index.php och se om texten kommer upp då istället.

Om den kommer upp är det DirectoryIndex vid apache-inställningarna som inte reagerar på filnamnet index.php. Kontrollera att du skrev rätt där. Ändra i httpd.conf och starta om servern och testa igen.

Om du annars ser hela den koden som filen innehåller (alltså inte bara Det fungerar!) så fungerar inte php-modulen som den ska eftersom Apache inte förstår att sidan ska presenteras via PHP-motorn.

Om du har problem

Dubbel- och trippelkolla alla inställningar. Kom ihåg att starta om webbservern mellan dina ändringar eftersom de annars inte har någon effekt på den redan startade applikationen. Om du ändå har problem så leta på något bra forum på nätet och fråga om hjälp efter att du har googlat på eventuella felmeddelanden. Google har alla svar, men ibland är de bara lite svåra att hitta. Men att söka på felmeddelandet (om det kommer upp något) är ofta en bra metod.

Kända och beryktade problem och orsaker

Här skriver vi några fel och felmeddelanden som vi vet kan uppstå samt de lösningar vi känner till föra att lösa problemet.

The requested operation has failed!

Om detta felet kommer vid uppstart av apache, testa att gå in på "Test Configuration" på startmenyn för att se om du kan komma någonstans längre. Om du annars har försökt använda någon annan webbserver (t.ex. IIS) så bör du försäkra dig om att ingen annan webbserver är igång.

Problem med MySQL i php

Vi har hört fall där det har varit problem med MySQL-modulen i php och att felet har löst sig genom att man kopierat libmysql.dll från php-katalogen till c:\windows. Detta är dock inget vi har bekräftat.

Andra moduler, t.ex. perl

Apache är varken i originalutförande - eller med vår konfiguration bunden till php. Du kan mycket väl ladda ned andra moduler för att expandera dina utvecklingsmöjligheter med t.ex. optimeringsverktyg eller helt andra programmeringsspråk.


När du har fått ordning på Apache och PHP rekommenderas du fortsätta med nästa artikel - installation av MySQL.
Gå till toppen

Skrivet och publicerat av: Tobias Wetterskog
Datum: 070528
Senast ändrad: 080821