26 juli, 2006

Hitta liknande musik som du gillar

En kompis till mig sade här om dagen att det finns en sida www.pandora.com där man kan skriva in ett artistnamn/grupp eller ett album och sedan få förslag på musik som liknar den genren.

OBSERVERA!
12/10-08 Tjänsten är längre inte tillgänglig för personer som befinner sig utanför USA's gränser p.g.a någon konstig lag/licens. Så har det varit i några månader nu och det kommer troligen inte att ändras.

Eftersom min favoritmusik genre är trance så valde jag att skriva in "Armin van Buuren" som är en världskänd DJ inom elektronisk dansmusik. Jag trodde aldrig det skulle fungera, men det gjorde det (ofta, men inte alltid).

En låt spelas upp och visas tillsammans med lite artistinformation och CD omslag. Om man gillar låten kan man klicka på "tumme upp" eller om man inte gillar den "tumme ned". Då anpassar sig sidan efter dina val och försöker hitta relaterade låtar/artister/genrer. Ibland blir det helt fel musik, men sidan lär sig mer och mer ju längre man lyssnar.

Om man vill spara en lista på alla artister och låtar man tycker om, kan man skapa ett gratis-konto. Där uppdateras sedan allt medan du lyssnar!

En nackdel dock är att man inte kan lyssna på de låtar man redan har hört via sidan eller sparat på sitt konto. Det märkte jag när jag ville lyssna på en bra låt igen, som jag hade hört tidigare under dagen. Då kunde man bara höra en prov-lyssning på ca 20 sekunder. Det suger!

Om jag ska sammanfatta kan jag säga att jag är nöjd med sidan och tänker fortfarande använda den som en slags radiostation med mina "musik favoriter". Får se hur länge den överlever i min lista över bra sajter.

Besök gärna min profil på Pandora.

Tjao!


Källor
www.pandora.com

Google SketchUp

Wow! Inte visste jag att Google höll på med sånt - ett 3D-modell program. Jag upptäckte det nu i natt när jag satt här i soffan och surfade lite. Skulle bara lägga till en sajt till deras index och så hittar jag det här jättecoola programmet.

Deras exempel gör att det ser så enkelt ut, men det återstår att se i morgon när jag ska testa det. Ska lägga mig snart. Kanske dags att börja vända tillbaks dygnet snart inför Lumpen nu på måndag? Äh, orka! ;)

23 juli, 2006

PHP: Skriv text till bild med GD2

Förord
Hmm, klockan är 03:43 och jag är för pigg för att lägga mig. Kan inte förstå varför jag känner så, men jag blir nog tröttare efter att ha skrivit en liten artikel :).
Den här artikeln kommer handla om hur man skriver text till bilder i PHP. Ni kanske har sett bilder på forum som visar information om er dator; typ vilken IP-adress eller vilken Internet Leverantör (ISP) ni har. Nu kommer ni får lära er hur man visar en besökares IP-adress.


Introduktion
För att kunna hänga med i artikeln och förstå någorlunda vad jag talar om, behöver ni kunna lite PHP. Grundläggande kunskaper räcker, men ni ska helst ha vana för programmering.

Det som gör att vi kan skapa dynamiska bilder i PHP är ett bibliotek vid namn GD2 (php_gd2.dll). De som har läst min artikel om hur man "Sätter upp en egen server" har redan GD2 konfigurerat och klart. Ni andra får ta reda på om ni har det på ert webbhotel eller om ni har det på er server innan ni börjar.

Vill ni läsa lite mer om bibiloteket GD2 eller ladda ner det till er server, rekommenderar jag att ni besöker www.boutell.com/gd.

Jag tänker inte gå igenom i detalj hur ni skapar PHP-dokument för det borde ni kunna fixa på egen hand.


Då börjar vi
Börja med att leta fram den bild du vill använda. Ni kan använda den bifogade bilden om ni vill för det är den jag har använt.



Öppna sedan ett nytt PHP-dokument och skriv följande kod:

<?php
// Hämta bilden som ska visas
// Observera att bildtypen måste vara av typen PNG (mime: image/png)
$img = imagecreatefrompng('C:/bilder/sunset_small.PNG');


Nu har vi öppnat bilden och lagrat en referens till den i en variabel $img. I nästa kodsnutt definierar vi de färger vi vill kunna använda till texten:

// Definiera färger
// Vi använder RGB-värden från 0-255 (röd, grön, blå)
$black = imagecolorallocate($img, 0, 0, 0);
$white = imagecolorallocate($img, 255, 255, 255);
$blue = imagecolorallocate($img, 0, 0, 200);
$red = imagecolorallocate($img, 200, 0, 0);


Sedan sätter vi storleken på texten till den inbyggda storleken 3. Det finns följande storlekar för de som vill testa sig fram: 1 (minst), 2, 3, 4 och 5 (störst).

// Sätt en inbyggd teckenstorlek för imagestring()
$font = 3;


Nu anger vi x- och y koordinaterna på bilden där vi vill att textens övre vänstra hörn ska börja. Om ni använder en annan bild än den bifogade så måste ni naturligtvis ändra på koordinaterna. Kom bara ihåg att koordinaten (0, 0) i GD2 biblioteket (och på flera andra ställen) börjar längst upp till vänster på alla bilder:

// Ange koordinater där texten ska börja
$x = 125;
$y = 160;


Nu väljer vi den text som vi vill skriva till bilden. Det är en ledtext och besökarens IP-adress som slås ihop till en ända sträng:

// Skriv den text ni vill ska användas
$text = 'Du har IP: ';
$ip = $_SERVER['REMOTE_ADDR']; // Lagra IP-adress
$text .= $ip;


Nu ligger hela texten lagrad i variabeln $text så nu kan vi skriva den till bilden med referensen $img. Ni kan byta ut variabeln $white (vit) mot någon annan av de färger vi definierade i början av koden:

// Skriv texten till bilden
imagestring($img, $font, $x, $y, $text, $white);


Vi använder funktionen imagestring för att använda referensen $img, med textstorleken $font, koordinaten $x och $y (125, 160), texten $text och färgen $white.

Nu måste vi bara tala om för webbläsaren att det kommer en PNG bild istället för en vanlig hemsida:

// Berätta för webbläsaren att det nu kommer en bild av typen png.
header('Content-type: image/png');

// Skicka bilden till webbläsaren
imagepng($img);


Slutligen så frigör vi minnet för att göra servern och systemadministratören glad:

// Frigör minne (viktigt!)
imagedestroy($img);
?>


Om ni använder ett annat format än PNG kan ni testa byta ut png i koden till ert format. GIF kan dock krångla pga licenser.


Testa
Spara nu PHP-dokumentet som "dynamisk_bild.php" och kör den på den server ni använder.


Slutord
Hoppas ni fick det att fungera och att ni har lärt er något nytt ;)
Nu är jag väldigt trött och ska gå och lägga mig!

Zzz Zzz


Källor
www.boutell.com/gd
www.php.net/gd

20 juli, 2006

Vad är PHP-GTK2

Förord
De flesta vet väl vad PHP är för nåt - ett serverbaserat skriptspråk som används för att skapa dynamiska hemsidor. Nu har det även släppts en annan variant av PHP där man kan skapa körbara program - PHP-GTK2!


Introduktion
I den här artikeln ska jag introducera er för PHP-GTK2 - en utbyggnad för programmeringsspråket PHP som implementerar GTK+ (Gimp Tool Kit) bibiloteket. Detta tillhandahåller ett Objekt Orienterat (OO) gränssnitt för de flesta klasser och funktioner inom GTK+, som underlättar skapandet av klient-side och multi-platform (Unix, Linux, Solaris, Windows etc) program.

Nu kan man alltså inte bara använda PHP till dynamiska hemsidor - man kan även skriva program som fungerar på de flesta operativsystem utan några större ändringar i koden.

Jag ska bara gå igenom några av de viktigaste punkterna som berör PHP-GTK2 så att ni kan komma igång lite enklare. Jag kommer också hålla mig till Windows platformen i den här artikeln.


Nyheter och likheter
I PHP-GTK2 kan man använda nästan alla funktioner och klasser som finns tillgängliga i PHP, så om du har en dynamisk hemsida som kontaktar exv. en MySQL databas, kan du åstadkomma ett program som gör samma sak väldigt enkelt.

Exempel
Utdrag från: Dynamisk hemsida:
$dbh = mysql_connect('localhost', 'username', 'password') or die(mysql_error());
...
mysql_close($dbh);


Utdrag från: PHP-GTK2 applikation:
$dbh = mysql_connect('localhost', 'username', 'password') or die(mysql_error());
...
mysql_close($dbh);


Det enda man måste göra är att modfiera eller justera koden så att den passar ihop med din PHP-GTK2 applikation. I slutet av artikeln tänker jag visa några exempel på hur man skriver enkla PHP-GTK2 program.

En positiv egenskap hos PHP-GTK2 är att det använder PHP 5.1 och 5.2 i skrivande stund. Det är den version av PHP som har bäst stöd för Objekt Orienterad Programmering (OOP). Man bör lära sig OOP om man vill bli en seriös programmerare :).

En dålig egenskap hos PHP-GTK2 är att koden inte går att kompilera till maskinkod (den kod som processorn kan förstå), eller också kallat EXE-filer som de flesta av er borde känna igen. Det finns i och för sig tredjeparts program som kan kompilera PHP-GTK kod, men än så länge har de inte stöd för PHP-GTK2. Detta betyder i nuläget att om ni väljer att distribuera era program, så kan vem som helst läsa källkoden och själv göra ändringar i den.

Tips!
Det finns ett program vid namn "Zend Encoder" som "kodar" om din källkod till svårförstådd text. Det kostar pengar och om ni vill veta hur det fungerar får ni vända er till källorna i slutet av artikeln.


En IDE för att skapa PHP-GTK2 program
Först ska jag tala om vad en IDE är? En IDE (Intergrated Development Environment) är ett program som typ Microsoft Visual Studio som underlättar kodning av program oerhört. En IDE brukar ha en inbyggd hjälp med funktioner, klasser, konstanter med mera, och en inbyggd dokumentation för det programmeringsspråk den är till hjälp för.

För PHP-GTK2 finns en IDE vid namn Glade (v2.12.1-rc1 i skrivande stund), men exakt hur man får den att fungera kan jag inte förklara i nuläget. Jag får uppdatera artikeln vid ett senare tillfälle och lägga till en text om hur man gör. Försök hitta information bland artikelns källor så länge.

IDE:n fungerar som så att man kan "rita" knappar och andra objekt i ett fönster som representerar den slutliga applikationen. Då skapas kod "on-the-fly" så att man själv slipper skriva kod som exv. skapar ett nytt fönster: $wnd = new GtkWindow().

En IDE brukar också ha "syntax highlightning", vilket betyder att all kod färgläggs i olika färger. T.ex. strängar blir röda, kommentarer blir orangea, funktioner blir svarta, nyckelord blir blå etc. Då är det mycket enklare att hålla ordning och reda på sin kod.


Skaffa och Installera PHP-GTK2
Om ni använder Windows och känner att ni vill testa på PHP-GTK2, kan ni navigera till följande sida gnope.org och ladda ner (i skrivande stund) "Release 1.5.1" i sektionen "Windows Downloads". Det paketet har allt ni behöver för att komma igång. I alla fall för tillfället!

Nu går jag igenom steg-för-steg hur man gör för att få PHP-GTK2 att fungera.
Jag använder Windows XP Professional SP2!
  1. Ladda ner Gnope 1.5.1 som innehåller
    • PHP 5.1
    • gtk2 (Win32) module
    • Gnope Apprunner
    • Gnope PEAR Installer
  2. Kör filen "GnopeSetup-1.5.1" som ni precis laddade ner
  3. Tryck på "Next" och "I Agree"
  4. Kryssa i alla rutor du ser i fönstret
  5. Tryck på "Next"
  6. Låt det stå "C:\PHP-GTK2" så slipper vi krångla till det, men ni kan ju alltid ändra om ni vill.
  7. Tryck på "Install" och när en ruta poppar upp och ställer frågan: "Change the environment for all users..." svarar ni "Ja".
  8. När installationen är klar klickar ni på "Next" och sedan "Finish".
Efter att ni klickat på "Finish" borde programmet "PHP-GTK2 Applications" starta upp (om ni valt det förstås). I fönstret klickar ni på "Game_Snake" för att testa ett litet Snake spel. Om det fungerar vet ni nu att er PHP-GTK2 installation fungerar.

Pröva med att trycka på någon av piltangeterna på ert tangentbord i Snake, så borde ni se att en mask börjar röra på sig. Uppgiften är att ta så många äpplen som möjligt, men det vet ni väl redan!

PHP-GTK2 fungerar nu som det ska (om det inte uppstått några problem för er), så stäng av Snake och stäng också programmet "PHP-GTK2 Applications".

Följande steg följer ni bara om ni vill testa ett simpelt 'Hello World'-program:
  1. Gå till "Mina dokument"
  2. Skapa en ny mapp vid namn "PHP-GTK2 Projekt"
  3. I den mappen skapar ni en mapp vid namn "hello"
  4. Följ nu instruktionerna för hur man skapar det 'Hello World'-program som finns i slutet av artikeln tillsammans med alla exempel.
  5. Om ni gjort allt rätt borde ni nu ha en fil vid namn "hello.phpw" i mappen "hello" som ni precis skapat.
  6. Innan ni kör ert nya program ska vi skapa en så kallad batch-fil, som vi kommer använda för att samla upp eventuella felmeddelanden. Skapa den på samma sätt som ni skapade filen "hello.phpw", fast nu döper ni den till "debug.bat" och matar in följande data i den:

    debug.bat
    @echo off
    php hello.phpw
    pause
    exit


  7. Nu kan ni testköra ert nya program genom att dubbelklicka på "debug". Om ert program spottar ut en massa felmeddelanden kommer ni kunna se dem i den svarta rutan som poppat upp.
  8. Programmet visar texten "Hello World!" om allt fungerar, så nu kan ni stänga av det genom att trycka på krysset uppe i högra hörnet.
  9. Markera nu den svarta rutan och tryck på en valfri tangent för att få den att försvinna.
Exempelfilen associerad med det vi precis gått igenom heter "hello.zip" och skapar alla filer och mappar som behövs automatiskt.


Exempelfiler
Det finns inga att ladda ner


Dokumentation
Den vetgirige kan besöka gtk.php.net och lära sig allt på egen hand. Ta också gärna del av dokumentationen, för om det är något ni undrar över om PHP-GTK2 så hittar ni det nästan garanterat där. Annars kan ni alltid avända wiki:n.

Om ni vill testa ett litet program får ni gärna använda ett i slutet av artikeln, eller så kan ni använda ett enkelt "Hello World!" program från den officiella hemsidan gtk.php.net. En modifierad version av det programmet hittar du i slutet av artikeln.


Kodexempel
Hello World:
<?php
if (!class_exists('gtk')) {
die("Please load the php-gtk2 module in your php.ini\r\n");
}
$wnd = new GtkWindow();
$wnd->set_title('Hello world applikation'); // Titel

// Koppla en signal som avslutar PHP-GTK2 när man avslutar programmet
$wnd->connect_simple('destroy', array('gtk', 'main_quit'));

// Skapa en simpel text
$lblHello = new GtkLabel('Hello World!'); // Skapa ny widget

// Lägg till texten till fönstret (objektet $wnd)
$wnd->add($lblHello);

// Visa alla så kallade widgets (manicker)
$wnd->show_all();

// Starta programmets huvudloop
Gtk::main();
?>


Kopiera koden till ett nytt textdokument (*.txt) i anteckningar eller er favoriteditor och spara det som "hello.phpw". Dubbelklicka på filen och det borde startas ett program med texten "Hello World!" inuti.

I nästa exempel ska jag visa hur ni skapar ett PHP-GTK2 program som ansluter till en MySQL databas. Observera att det bara fungerar om ni har tillgång till en installerad MySQL server på er dator, eller om ni har ett konto på exv. nåt webbhotell någonstans. Om ni har tillgång till en MySQL databas måste ni ladda in MySQL i PHP-GTK2 via ett "tillägg" (eng. extension) innan ni kan få det att fungera. Det kanske jag beskriver i en framtida artikel!
Det är ingen idé att ni testar om ni inte har lärt er MySQL än, men det kan vara lärorikt att ta del av felmeddelandena.

Ni kommer få följande felmeddelande om ni inte har konfigurerat MySQL korrekt:
Fatal error: Call to undefined function mysql_connect() in ...

MySQL Test PHP-GTK2:
<?php
if (!class_exists('gtk')) {
die("Please load the php-gtk2 module in your php.ini\r\n");
}
$wnd = new GtkWindow();
$wnd->set_title('MySQL applikation'); // Titel

// Koppla en signal som avslutar PHP-GTK2 när man avslutar programmet
$wnd->connect_simple('destroy', array('gtk', 'main_quit'));


$dbh = mysql_connect('localhost', 'username', 'password') or die('Kunde inte ansluta till MySQl :: '. mysql_error());
// Gör inget!
mysql_close($dbh);

// Hit kommer vi om vi lyckades!!!
$lblHello = new GtkLabel('Vi lyckades ansluta till en MySQL-databas!'); // Skapa ny widget

// Lägg till texten till fönstret (objektet $wnd)
$wnd->add($lblHello);

// Visa alla så kallade widgets (manicker)
$wnd->show_all();

// Starta programmets huvudloop
Gtk::main();
?>



Spara det precis som ni gjorde i förra exemplet - i formatet *.phpw.
Jämför koden för PHP-GTK med följande exempel som syftar på en dynamisk hemsida i PHP

MySQL Test - Dynamisk Hemsida:
<html>
<head></head>
<body>
<?php
$dbh = mysql_connect('localhost', 'username', 'password') or die('Kan inte ansluta till MySQL :: '. mysql_error());
echo '<p>Vi lyckades ansluta till MySQL!</p>';
mysql_close($dbh);
?>
</body>
</html>

Det skiljer inte mycket, eller hur?
mysql_connect() är bara en av många funktioner i PHP som går att använda tillsammans med PHP-GTK2. Testa till exempel funktionen date('Y-m-d H:i:s').

Alla ni som vill lära er mera om PHP-GTK2 kan gå till gtk.php.net och följa alla instruktioner och exempel.


Hjälp
Om ni behöver hjälp eller får problem vid något som rör det som beskrivits i artikeln, får ni kontakta de som är experter på området. Ställ en fråga i ett forum eller nåt!

Kontakta mig inte och be om hjälp förutom om ni känner mig. Då hjälper jag ju er såklart.


Källor
http://gtk.php.net
www.gnope.org
www.zend.com
www.php.net
http://gladewin32.sourceforge.net Information om Glade
http://skylane.t35.com/blog/download

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

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.