Visar inlägg med etikett apache. Visa alla inlägg
Visar inlägg med etikett apache. Visa alla inlägg

22 april, 2009

Ubuntu/PHP/Apache: Sätta upp webbserver i Linux Ubuntu

Detta är mest ett tips för mig själv för att jag inte skall glömma bort var jag fann denna fantastiska guide [1]. Guiden går igenom om hur man sätter upp Apache, PHP, MySQL i ett Ubuntu system. Jag fann guiden via Netbeans och jag tror även att det går att använda Netbeans IDE på Ubuntu men är inte riktigt säker.

Om det går så har man en bra PHP-editor tillgodo eftersom Netbeans har det stödet inbyggt i senare versioner.

Framtiden
Inom kort kommer jag dokumentera exakt hur man installerar en webbserver med mod_rewrite, gd2 och en MySQL-databas i Ubuntu.

Källor
[1] Configuring the PHP development environment in Linux Ubuntu

07 april, 2008

Apache: Testa mod_rewrite

Det är ett exempel för de som använder webbservern Apache. I exemplet nedanför testar jag med PHP om servern har blivit korrekt konfigurerad för användning av "mod_rewrite".

Skapa först en fil som du kallar för rewrite.php och skriv sedan följande kod i filen:

<html>
<head>
<title>Testa Apache mod_rewrite</title>
</head>
<body>

<h2 style="text-align: center;">

<?php
// En variabel som används i testet
if ($_GET['link']==1)
{
echo"Du använder inte mod_rewrite";
}
elseif ($_GET['link']==2)
{
echo"Grattis! Du använder Apache's mod_rewrite";
}
else
{
echo"Apache mod_rewrite Test";
}
?>

</h2>
<p><a href="rewrite.php?link=1">Länk 1</a> = rewrite.php?link=1</p>

<p><a href="link2.html">Länk 2</a> = link2.html</p>
</body>
</html>

Skapa sedan en fil som du kallar för .htaccess och lägg sedan till följande kod i filen:
RewriteEngine On
RewriteRule ^link([^/]*)\.html$ rewrite.php?link=$1 [L]

Så här fungerar det: Båda länkarna leder till samma sida men de ser olika ut. Länk 1 anropar rewrite.php direkt med parametern 1. Länk 2 anropar link2.html och detta upptäcker mod_rewrite (om vi har gjort rätt) och ser efter i sin RewriteRule vilka adresser som ska omvandlas till rewrite.php?link=x.

Fotnot
I min httpd.conf har jag satt
AllowOverride All
som tillåter att vi kan ändra allt i en .htaccess-fil, och
LoadModule rewrite_module modules/mod_rewrite.so
som aktiverar mod_rewrite för Apache.

Källa
Jag fann koden på följande sida how-to-test-check-if-mod-rewrite-is-enabled och den hör till Webune.com. Men det är jag som har översatt till svenska och gjort koden mer lättläslig.

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!

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.