02 mars, 2008

Nätverk/Server: Sätta upp egen server #2

Förord
Den 13 Juli 2006 publicerade jag en artikel om hur man sätter upp en egen server på sin Windows XP dator. Då talade jag bara Apache 2.2 och PHP 5.1.4. Nu är det dags för en uppdatering som är extremt

förenklad jämfört med min förra artikel. Istället kommer jag nu skriva om senaste Apache, MySQL och PHP. Jag kommer fortfarande gå igenom hur man gör för Windows XP men i en senare artikel kommer jag kanske

gå igenom hur man sätter upp en linux server - som drar otroligt mindre resurser än en Windows "box".

Introduktion
I denna artikeln tänker jag gå igenom hur man sätter upp en webbserver (Apache 2.2.8), en databasserver (MySQL 5.0.51a x86) och skriptspråket PHP 5.2.5 på Windows XP. Vi konfigurerar allt manuellt.

Att tänka på
Man behöver inte konfigurera allt manuellt eftersom det redan finns färdiga "paket" att ladda ner. Ett sådant paket är XAMPP som även finns tillgängligt för Linux, Windows,

Mac OS X och Solaris. XAMPP hittar ni hos
Apache Friends - XAMPP. Men det är ju

så mycket roligare att göra det själv plus att man då har mer kontroll över programmen och filerna. Det är enligt mitt tycke förstås.


Observera att jag inte tänker gå igenom säkerhet eller optimering för flera användare etc. Det får ni själva Googla efter.

Ladda ner programvaran
Apache 2.2.8 kan ni ladda ner här (utan SSL stöd) - x86
PHP 5.2.5 kan ni ladda ner här (klicka på den spegel-länk/mirror ni vill använda)
MySQL 5 (x86) kan ni ladda ner här

Följ mina instruktioner här nedanför för bilderna:

Installera Apache 2.2.8



















Installera MySQL 5













Konfigurera MySQL 5 (grunder och en root-användare)



















Här väljer vi ett lösenord för "root" kontot - det är det konto som har full kontroll över databasen. Vi väljer även att man ska kunna komma åt servern från en fjärrdator.


Påbörja konfigurationen med de inställningar vi har ställt in hittills.




Installera PHP 5.2.5

(Klicka på bilden för att förstora) Filen här ovan kan ni packa upp med vilket program som helst som klarar att öppna ZIP-formatet. Packa upp paketet till sökvägen C:\php5_2_5 som ni ser i nästa bild.


(Klicka på bilden för att förstora)

Konfigurera PHP 5.2.5 och MySQL 5 för ihopkoppling

Kopiera filen här ovanför för nästa steg

Klista in libmySQL.dll i katalogen C:\Windows



För er som inte förstår figuren kan jag tala om att man ska kopiera filen php.ini-recommended till samma katalog fast med namnet php.ini istället.

Den nya filen konfigurerar vi här nedanför.


Visa felmeddelanden som PHP skickar till oss


Sätt katalogen för alla tillägg


Aktivera tilläggen: php_mysql.dll, php_mysqli.dll och php_pdo_mysql.dll

Spara och så är konfigurationen för PHP klar. Det finns mycket mer man kan göra men det vi har gjort hittills räcker gott och väl. Om det är någon som har ett förslag på ändringar får ni gärna skicka en kommentar till artikeln.


Konfigurera Apache 2.2.8
Nu ska vi konfigurera Apache, vilket är mjukvaran för vår webbserver. Dess konfiguration finns lagrad i en fil vid namn "httpd.conf" som man hittar med följande sökväg: C:\Apache2.2\conf\httpd.conf".


Här ovan använder vi en PHP-modul istället för CGI-versionen (php-cgi.exe). Det är säkrare och ger bättre prestanda har jag för mig, samt att det är rekommenderat av nästan alla tekniker.


Ändra sökvägen till katalogen där vi kan lägga alla våra webbsidor



Här får ni välja vilket av följande två rödmarkerade alternativ ni vill konfigurera.

Följande tillåter endast anslutningar från din dator till webbservern


Tillåt anslutningar från alla destinationer för åtkomst till webbservern



DirectoryIndex här ovanför bestämmer i vilken ordning som filerna ska kontrolleras om en katalog innehåller en index-fil. I detta fallet vill vi att en fil som heter "index.php" ska köras även om det redan finns en fil som heter "index.html". Denna fil körs automatiskt när vi besöker en katalog på servern (i sökvägen för katalogen "www") där en sådan fil existerar.

Spara och konfigurationen för webbservern ska vara färdig. Men först innan vi fortsätter måste vi starta om webbservern. Detta kan göras via Apaches egna kontrollpanel som ligger längst ner till höger vi klockan. Ikonen är en rund vit cirkel med en grön pil. Högerklicka på den och välj "Open Apache Monitor". Väl där markerar ni "Apache2.2" i listan och klickar på knappen "Restart" till höger.
Man kan också starta om webbservern via startmenyn > Alla program > Apache HTTP Server 2.2 > Control Apache Server > Restart
Nu återstår bara att testa om det fungerar.

Det slutliga testet

Katalogen "www" här ovan måste ni själva skapa.


Skapa två filer som vi kommer använda i följande steg för att testa och verifiera installationen.




Ett helt vanligt textdokument som vi kommer åt via http://localhost/test.txt


Ett simpelt test-skript i PHP som visar information om installationen.

Resultatet för PHP-installationen

(Klicka på bilden för att förstora)
Via den sida som nu visas av PHP kan man avläsa viktiga inställningar och systemsökvägar samt diverse miljövariabler. Säkerhetsrisk: Om ni använder er webbserver för produktion så att den är tillgänglig ute på Internet så bör ni ta bort denna fil, eller låsa åtkomsten med ett lösenord. Detta för att den kan innehålla känslig information som ej bör läsas av ovälkomna gäster.

Här kan ni observera att MySQL och MySQLi är rätt konfigurerat

(Klicka på bilden för att förstora)
Tillägg: MySQLi är en förbättrad (Improved) version av MySQL och ger även utvecklaren tillgång till något som kallas för "Prepared statements". Det är en teknik som försvårar en intrångsteknik som kallas "SQL Injection". Detta är bara en liten del av alla förbättringar som MySQLi erbjuder.

Ett litet testskript i PHP för att verkligen testa att MySQL fungerar som det ska (åtminstone att funktionerna existerar och finns tillgängliga.



Jippi!!!


Slutord
Så där! Äntligen var det färdigt. Nu hoppas jag att det inte är några där ute som får problem med en manuell installation av en webbserver tillsammans med MySQL och PHP.

Observera att jag inte har implementerat någon säkerhet och för MySQL finns ännu bara ett "root" konto för total åtkomst. Ni ska helst skapa ett extra användarkonto i MySQL med kommandoradsverktyget som medföljer för att göra åtkomsten till databasen lite säkrare.

Viktig information: Denna installation bör ej användas för produktion - den är endast till för utveckling och test av system.

Lycka till!

6 kommentarer:

Anonym sa...

Bilderna saknas.... :-(

Waschman sa...

Hej! Nu ska bilderna fungera igen. Problemet var att webhotellet jag använde hade lagts ner när jag var bortrest. Tack för att ni informerade mig.

Micke sa...

Hej, jag har lagt upp en lokal miljö enligt din instruktion. Det funkar.
Tack. Jag försöker sedan ladda ner ett antal sql-satser från min server för att bygga upp motsvarande tabeller lokalt. Har inte förstått var de skall ligga i den uppbyggda strukturen och hur de kan köras. /Micke

Waschman sa...

Hej Micke!
Det var skönt att höra att du fick det att fungera med PHP lokalt på din dator.

För att skapa tabeller lokalt på din dator kan du använda ett verktyg som heter "MySQL Administrator" som är jättebra. Du kan även läsa avsnittet "Creating The Table In PHP" på följande webbsida PHP/MySQL Tutorial part 2

Jag fann även en annan webbsida som kanske kan ge lite mer hjälp MySQL och PHP

Om man inte vill gå dessa vägar till mötes kan man alltid använda MySQL's egna textkonsol för kommandon. Har för mig att den heter sql.exe och finns i installationskatalogen för MySQL.

Steg 1: Skapa databas
Steg 2: Skapa tabeller
Steg 3: Välj databas
Steg 4: Anslut till databas
Steg 5: Skapa/ändra/radera data
Steg 6: Stäng anslutningen till databasen

Hoppas du finner lösningen på ditt problem.

Helen sa...

Hej!

Det verkar vara en bra guide! Jag är nämligen på g att ladda ner Apache mm. Nu undrar jag bara, om man längre fram skulle behöva Apache "med SSL-stöd", går det att uppgradera på något sätt? Jag hade tänkt ladda ner Apache från Apache.org, men jag förstår helt enkelt inte hur det är tänkt att funka, med speglar och sådant...

/Helen

Waschman sa...

Hej Helen!
Apache och SSL på Windows vet jag faktiskt inte hur man sätter upp och konfigurerar. Har också velat ha det men det har fått lägre prioritet min min Att-göra-lista. Testa Googla!

Om du är osäker tycker jag du ska ladda ner deras openssl-version. Om du använder Linux så är det nog enklare att uppgradera om man valt fel paket. Men jag är inte 100% säker på detta.

Om du lyckas sätta upp en Apache-OpenSSL server i Windows få du gärna meddela mig om hur det gick.

Däremot kan jag berätta att om du ska ladda ner Apache så gör du det helt riktigt från apache.org. Speglar är webbsidor som har en kopia av hela installationspaketet för att inte huvudsidan för apache ska bli överbelastad. Plus att om man hittar en spegel-sida som är placerad i Sverige så borde det gå snabbare att ladda ner.

Lycka till!

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.