Denna guide beskriver hur du kan använda Raspberry Pi som webbserver med Nginx för att leverera filerna och PHP för att sköta den dynamiska koden. Som SQL-server kan man välja mellan MySQL och MariaDB där den sistnämnda är något kvickare. Ett krav för att denna guiden ska kunna följas är att man redan har installerat Nginx och PHP. Denna guide är främst riktad mot Raspberry Pi med distributionen Raspbian installerat men bör fungera med små förändringar även på andra Debian-liknande distributioner.

Börja med att konfigurera Nginx.

Konfigurationsfilerna finns här:

/etc/nginx/

webbserver-nginx

Det är nästan alltid enbart nginx.conf filen man behöver ändra och om eventuella siter man hostar på webbservern behöver ovverrida dessa inställningar.

Man lägger inställningar för sina siter i sites-available och sites-enabled. Sites-enabled innehåller konfigurationsfiler och säger vilka siter som ska vara aktiva. Här finns så kallade symlinks till motsvarande konfigurationsfiler i sites-available där alla siter ligger.

Börja med att gå in i sites-available och skapa en konfigurationsfil för den site du ska lägga upp. Kopiera den defaultfil som redan ligger där till en egen döpt efter din egen webbsida.

sudo cp default systemutveckling.info

Editera filen

sudo nano systemutveckling.info

Ändra server_name till din adress. När någon öppnar systemutveckling.info i sin browser httpheadern kommer innehålla detta hostingnamn som Nginx kommer fånga upp och leta upp lämpligt server block bland dina konfigurationsfiler.

Det andra du ska ändra är vart dina filer ligger som webbplatsen består av. Alltså root katalogen för webbsidan. Detta är per default /usr/share/nginx/www och här kan du skapa en underkatalog för systemutveckling.info.

Du kan också lägga till ett serverstycke längst upp som fångar upp domänanropp utan www innan och redirectar till www.systemutveckling.info

server {

server_name systemutveckling.info

return 301 http://www.systemutveckling.info$request_uri;

}

Om du ska installera WordPress så bör du lägga till index.php på index-raden också.

För att permalänkar ska funka bra i WordPress så bör det se ut såhär i location:

try_files $uri $uri/ /index.php$args;

När du ändrat konfigurationsfilen, skapat katalogen och lagt in en html-fil där för webbservern att hämta så behöver du skapa en symlink i sites-enabled katalogen.

Ställ dig i den katalogen och kör följande kommando

sudo ln –s ../sites-available/systemutveckling.info

Testa din Nginx-konfiguration med kommandot

sudo nginx –t

Det måste stå successful på sista raden för att allt ska vara OK.

När det ser ut som allt fungerar så måste du starta om nginx för att förändringarna ska slå igenom.

sudo service nginx restart

Får att få åäö och andra UTF-8 tecken att fungera måste du ange detta antingen i berörda konfigurationsfiler eller direkt i nginx.conf för att det ska slå igenom överallt.

Jag la till denna rad i mitt http-block i nginx.conf filen.

charset UTF-8;

Besök nu din adress till din sida för att se att allt fungerar.