13 juli, 2006

Sätta upp en egen server

Förord
Detta är min allra första artikel jag skrivit någonsin så det kanske inte är så hög kvalitet på materialet, men jag ska göra mitt bästa.

Artikeln är tillägnad Karin
Lycka till med Projektarbetet!

Notis: Jag har skrivit en ny uppdaterad guide med beskrivande bilder som även går igenom hur man sätter upp en MySQL databas. Läs Sätta upp egen server #2 här.

Introduktion
Nu ska jag gå igenom steg för steg hur man sätter upp en egen server. En egen server kan vara bra att ha när man utvecklar serverbaserade hemsidor i exempelvis PHP, ASP, JSP m.fl. Man kan också ha den som en central lagringsplats för dokument och bilder som du vill kunna komma åt utanför ditt hem. Ett bra exempel är om man sitter i skolan och behöver skolarbeten eller nåt liknande.

Möjligheterna är oändliga, men det vi ska koncentera oss på är att få webbservern Apache och server-skript-språket PHP att fungera tillsammans. En kompination som är väldigt enkel och effektiv att konfigurera.

Om du känner att du är duktig på engelska kanske du har lust att pröva ett paket som redan har allt man behöver kan du pröva www.uniformserver.com. Där hittar du mera information. Man slipper konfigurera lika mycket, men jag kan tyvärr inte hjälpa till med det paketet eftersom jag inte har testat det. Jag har hört och läst att det ska vara väldigt bra. Ni som vågar kan ju göra ett försök, men använd gärna min artikel som ett alternativ i så fall.

Observera att jag går igenom hur man installerar en databas vid namn MySQL i en annan artikel. Det gör jag eftersom jag tycker att en databas inte är nödvändig för det vi planerar, men att det underlättar arbete väldigt mycket när man blivit mer erfaren.

En nackdel är dock att vi kommer installera allt på Winows XP och inte Linux/Unix (som förekommer mest på företag och hos de flesta hemanvändare).
Förbered dig med lite kaffe eller en Coca Cola för nu sätter vi igång.


Material
Man behöver:
Men man kan även använda andra versioner.
Kom ihåg att PHP 5.x versionen inte stöds av så många webbhotell eftersom den är hyffsat ny, så det kan uppstå problem. En stor majoritet av alla servrar på Internet kör PHP 4.x, men man bör uppdatera snarast möjligt. Därför använder vi PHP 5.x (5.1.4)!

En av många fördelar med PHP 5 är att det finns stöd OOP (Objekt Orienterad Programmering), men det är en annan historia.


Installation av Apache
Då börjar vi med att installera Apache som är webbservern man använder för att se resultat av de PHP-skript man utvecklar. En webbserver är en HTTP tjänst och kör därför på port 80. Detta går dock att ändra om man nu känner för det.

Kör filen "apache_2.2.2-win32-x86-no_ssl.msi" för att starta installationen, och klicka på "Nästa" tills du kommer till en skärm som liknar denna

Bilden ovan hämtas från www.html-gruppen.nu
Den är bara länkad dit tills jag hittat en plats att lägga den på.

Fyll i följande information:
Network Domain: 127.0.0.1
Server Name: localhost
Administrator's Email Address:
[x] "for all users on port 80 ..."

Gå vidare och välj "Custom" istället för "Typical". Då får vi själva välja var vi vill installera Apache. Klicka sedan på "Nästa".

Nu kommer man till en skärm där man kan ändra sökvägen för installationen.
Klicka på knappen "Change" och ändra "C:\Program\Apache Software Foundation\Apache2.2\" till "C:\Apache2.2\".
Klicka på "OK" och sedan "Nästa".

Sista steget är att klicka på knappen "Install". Nu är det bara att vänta!
När installationen är klar behöver du starta om datorn - gör det nu.


Installera PHP
PHP är ett serverbaserat skriptspråk som kan utföra dynamiska operationer och tillämpa egenskaper till en webbapplikation som är omöjligt med bara HTML. Man kan skapa chattrum, diskussionsforum, CMS (Content Management System), emailsidor som typ Hotmail eller Gmail och mycket mer.

Så här fungerar det:
  1. Du surfar till en hemsida
  2. Servern tar hand om ditt anrop och letar efter eventuell PHP kod på den sida du begärt
  3. PHP tolken körs och skapar HTML kod som PHP sidan genererat
  4. Servern skickar HTML sidan tillbaka till din webbläsare
  5. Du ser resultatet
När man har laddat ner PHP 5.1.4 så finns alla filer i en sk ZIP fil.
Om man inte har nåt program att packa upp sådana filer, brukar man bara behöva dubbelklicka på dem. Packa upp eller kopiera innehållet till följande katalog:

"C:\Apache2.2\php5.1.4"
Om den inte finns får man skapa den.

Nu måste vi kopiera lite filer. Kopiera filen från vänster till höger.
Observera att "php.ini-dist" ska byta namn till "php.ini" efter att ha blivit kopierad.
  • C:\Apache2.2\php5.1.4\php.ini-dist -> C:\Windows\php.ini
  • C:\Apache2.2\php5.1.4\php5ts.dll -> C:\Windows\php5ts.dll
  • C:\Apache2.2\php5.1.4\php5apache2.dll -> C:\Windows\php5apache2.dll
Så där! Nu behöver vi en fil från en nyare version av PHP för att fungera med den nya Apache 2.2.2. Gör då följande:
  1. Gå till http://snaps.php.net
  2. I sektionen "Win32 Packages" finner man kategorin "Stable (5.2.x-dev)"
  3. Klicka på den översta länken "php5.2 (zip)" som finns in listan
  4. Öppna den precis som man gjorde med den förra ZIP filen.
  5. Kopiera "php5apache2_2.dll" till "C:\Windows\php5apache2_2.dll"
Skälet till att vi behöver den filen är att den är kompilerad mot Apache 2.2.


Konfigurera PHP
Nu är det dags att konfigurera PHP, men innan vi gör det så ska man helst skapa en katalog vid namn "wwwroot" på "C:\", alltså "C:\wwwroot". Det är här man sedan lägger alla sina filer som man vill få tillgång till via webbservern. Till exempel några PHP-skript, men exakt hur man gör talar jag om senare i artikeln.

All konfiguration för PHP görs i filen "C:\Windows\php.ini" så det är det vi ska göra nu.
  1. Öppna "C:\Windows\php.ini" i anteckningar genom att dubbelklicka på den
  2. Gå till menyn "Visa" i anteckningar och klicka på "Statusfält"
  3. Nu visas ett statusfält längst ner i anteckningar som visar vilken rad man befinner sig på
  4. På rad 522 ändra doc_root till doc_root = "C:/wwwroot"
  5. På rad 529 ändra extension_dir till extension_dir = "C:/Apache2.2/php5.1.4/ext"
  6. På rad 645 ändra ;extension=php_gd2.dll till extension=php_gd2.dll
Om man inte kan hitta de korrekta raderna så kan man söka istället.
Testa gå in på "Redigera -> Sök" i anteckingar och skriv "extension_dir". Sedan behöver man bara göra likadant för alla andra rader som ska ändras.


Konfigurera Apache
Nu är det bara konfigurationen av Apache kvar. Det är inte så mycket som behöver göras men var noggrann.

Öppna filen "C:\Apache2.2\conf\httpd.conf" i anteckningar och följ stegen nedan:
  1. På rad 42 ändra ServerRoot till ServerRoot "C:/Apache2.2"
  2. På rad 115 lägg till LoadModule php5_module "C:/Apache2.2/php-5.2/php5apache2_2.dll"
  3. På rad 116 lägg till AddType application/x-httpd-php .php
  4. På rad 151 ändra DocumentRoot till DocumentRoot "C:/wwwroot"
  5. På rad 179 ändra <directory> till <Directory "C:/wwwroot">
  6. På rad 214 ska det stå: DirectoryIndex index.php index.php5 default.php index.html index.htm
Så där... Äntligen dags för testning!


Testa din installation
Nu har vi kommit så långt att vi kan börja testa vår egna webbserver :). Starta först om datorn så att servern kan starta om korrekt.

För den som vill kunna starta och stänga av webbservern manuellt kan antingen använda ikonen nere vid klockan som är ett rosa löv med en vit cirkel och en grön triangel. Högerklicka på den och välj "Open Apache Monitor". Nu kan man administrera lite i alla fall.
Vill man komma åt tjänsten Apache väljer man bara "Open Services".

Nu ska vi skapa ett simpelt PHP-skript som exempel.
  1. Gå till katalogen "C:\wwwroot" och skapa en ny katalog vid namn "test".
  2. Öppna den nya katalogen och högerklicka på den tomma vita ytan.
  3. Välj "Nytt -> Textdokument"
  4. Döp filen till "index"
  5. Öppna filen och skriv följande:
    <?php
    phpinfo();
    ?>
  6. Gå till "Arkiv -> Spara som..."
  7. I filformat längst ner ändrar man till "Alla filer"
  8. I filnamn skriver du nu "index.php"
  9. Öppna nu Internet Explorer eller Firefox och skriv http://localhost i adressfältet
  10. Klicka på länken "test" och du bör nu få upp en massa information om PHP.
  11. Om det inte fungerar kan du klicka på följande länk http://localhost/test/index.php
Nu borde man vi ha en fullt fungerande webbserver med Apache 2.2.2 och PHP 5.1.4.

När man skapar nya projekt eller nya webbapplikationer så är det smartast att skapa en ny katalog för varje. Skapa dem i "C:\wwwroot" precis som vi gjorde med "test".
Säg till exempel att man skapar mappen "projektarbete" så kommer man åt innehållet via adressen http://localhost/projektarbete/ .


Slutord
Vad kommer Du göra med Din fräscha webbserver? Kommer Du använda den som en central lagringsplats för Dina hemsidor, eller Dina arbeten?

Vem vet... "Only time can tell"!

Tänk på att Apache är en av världens mest flexibla servrar, så den här guiden beskriver långt ifrån allt. Ur säkerhetssynpunkt fattas ganska mycket fixande, men guiden passar utmärkt om man använder den för teständamål.

I en senare artikel ska jag berätta hur man installerar en databas (MySQL) och får den att fungera ihop med Apache och PHP. Det kommer även komma några artiklar som handlar om säkerhet i PHP och MySQL. Om man vet hur man bryter sig in - vet man hur man skyddar sig.

Om någon behöver hjälp så har ni min epostadress här:

waschman (at) gmail dot com

Ni andra som känner mig vet hur ni ska kontakta mig.
Lycka till!


Källor
www.php.net
snaps.php.net
www.apache.org
www.html-gruppen.nu
www.uniformserver.com

1 kommentar:

Karin aka Kaki sa...

Nu fungerar de äntligen!

hittade vad felet var. man skulle skriva in:

#PHP
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php .phtml
Action application/x-httpd-php "/php/php.exe"


I httpd.conf filen längst ner och sedan starta om datorn.

tack så jättemycket för hjälpen!! :)

många kramar
// Kaki

Välkomna till bloggen

Välkomna ska ni vara kära besökare. Jag skriver om IT för att det är kul och för att jag vill dela med mig av information och kunskap. Jag försöker hålla bloggen så kategoriserad som möjligt för att ni enklare ska hitta intressanta länkar och artiklar.