Nginx är en av internets viktigaste byggstenar. Den används för att leverera webbsidor, fördela trafik mellan servrar och fungera som mellanhand mellan användare och webbapplikationer. Med Nginx 1.31 tar projektet ett nytt steg: webbservern får stöd för HTTP forward proxy, samtidigt som flera säkerhetshål i moderna webbprotokoll som HTTP/2 och HTTP/3 täpps till.
För de flesta internetanvändare är Nginx osynligt. Ändå är det ofta just Nginx som står mellan webbläsaren och den webbplats man besöker. Programmet fungerar som en effektiv trafikdirigent: det tar emot förfrågningar, skickar dem vidare till rätt server och ser till att svaren kommer tillbaka snabbt.
Nginx har länge varit känt som webbserver och reverse proxy. En reverse proxy står framför en eller flera servrar och tar emot trafik från internet. Den kan till exempel skicka besökare vidare till rätt webbserver, avlasta systemet eller hantera krypterade HTTPS-anslutningar.
Med Nginx 1.31 introduceras en funktion som gör att programmet även kan användas på ett annat sätt: som HTTP forward proxy.
Vad är en forward proxy?
En forward proxy fungerar från andra hållet jämfört med en reverse proxy. I stället för att skydda och styra trafiken in till en webbplats används den av klienter som vill nå ut till internet.
Man kan likna det vid en reception. I stället för att varje dator kontaktar webben direkt skickar den sin begäran till proxyn. Proxyn gör sedan själva kontakten med omvärlden och skickar tillbaka svaret.
Detta kan användas för att:
samla internettrafik via en central punkt kräva inloggning innan trafik släpps vidare logga eller styra åtkomst skapa kontrollerade miljöer för företag, skolor eller labb
Den nya modulen ngx_http_tunnel_module gör det möjligt för Nginx att hantera sådan trafik via CONNECT-metoden. CONNECT används ofta när HTTPS-trafik ska tunnlas genom en proxy.
Det betyder att Nginx nu får en mer flexibel roll. Från att främst ha varit en servernära komponent kan den även användas som kontrollerad mellanhand för klienttrafik.
Inloggning till proxyn
En viktig del av den nya funktionen är stöd för proxyautentisering. Det innebär att användaren kan behöva logga in innan proxyn tillåter trafik.
I Nginx 1.31 kan detta göras med direktiv som:
auth_basic satisfy auth_delay
För en administratör betyder det att forward proxy-funktionen inte behöver vara helt öppen. Det är viktigt, eftersom en öppen proxy snabbt kan missbrukas för anonym trafik, spam, attacker eller kringgående av nätverksregler.
Med autentisering kan proxyn i stället användas i mer kontrollerade miljöer där bara godkända användare får tillgång.
Smartare lastbalansering med least_time
En annan nyhet i Nginx 1.31 är direktivet least_time i upstream-blocket. Det låter Nginx välja backend-server baserat på svarstid.
Traditionell lastbalansering kan exempelvis bygga på att skicka varannan förfrågan till server A och varannan till server B. Det fungerar i enkla miljöer, men tar inte alltid hänsyn till hur servrarna faktiskt mår.
Om en server är långsam, hårt belastad eller har problem kan svarstiden bli högre. Med least_time kan Nginx i stället väga in hur snabbt servrarna svarar och styra trafiken mot den som för tillfället verkar mest effektiv.
Det är lite som att välja kö i mataffären. Man går inte nödvändigtvis till den kö som ser kortast ut, utan till den som faktiskt rör sig snabbast.
Funktionen kan användas både för vanlig HTTP-trafik och för stream-trafik.
ALPN för säkra upstream-anslutningar
För stream-modulerna introduceras även direktivet proxy_ssl_alpn.
ALPN står för Application-Layer Protocol Negotiation. Det är en teknik som används under TLS-anslutningar för att komma överens om vilket protokoll som ska användas.
Det kan exempelvis vara relevant när en server kan tala flera olika protokoll över samma krypterade anslutning. Med proxy_ssl_alpn får administratören bättre kontroll över vilket protokoll Nginx ska välja när den ansluter till SSL-baserade upstream-servrar.
Säkerhetsfixar i flera moduler
Nginx 1.31 är inte bara en funktionsrelease. Den innehåller också flera säkerhetsfixar.
En av de åtgärdade bristerna är CVE-2026-42926, en sårbarhet i HTTP/2-hanteringen i ngx_http_proxy_module. Problemet är kopplat till direktivet proxy_set_body och kan beskrivas som en request injection-sårbarhet.
En sådan sårbarhet innebär att en angripare i vissa situationer kan påverka hur en förfrågan tolkas eller vidarebefordras. I proxyprogramvara är detta särskilt känsligt, eftersom proxyn står mitt i trafikflödet.
En annan viktig fix gäller CVE-2026-42945, en heap buffer overflow i ngx_http_rewrite_module. Minnesfel av detta slag kan i värsta fall leda till att angripare får möjlighet att köra kod.
Även följande sårbarheter har åtgärdats:
CVE-2026-42946 – heap buffer overread i ngx_http_scgi_module och ngx_http_uwsgi_module CVE-2026-42934 – buffer overread kopplad till UTF-8-avkodning i charset_map i ngx_http_charset_module CVE-2026-40460 – adressförfalskning i HTTP/3 och QUIC connection migration CVE-2026-40701 – use-after-free vid DNS-svarshantering när ssl_ocsp används
Det tekniska språket kan låta avskräckande, men i praktiken handlar det om samma grundproblem som ofta förekommer i systemprogramvara: data måste tolkas exakt rätt, minne måste hanteras korrekt och nätverkstrafik får inte kunna lura servern att göra något oväntat.
HTTP/2 och HTTP/3 blir striktare
HTTP/2 och HTTP/3 är modernare versioner av webbens grundprotokoll. De är byggda för högre prestanda och bättre hantering av många samtidiga anslutningar.
Men när gamla och nya protokoll möts uppstår ibland risker. Vissa headers som används i HTTP/1.1 hör inte hemma i HTTP/2 och HTTP/3. Om de ändå släpps igenom kan det skapa oväntade beteenden i kedjan mellan klient, proxy och backend-server.
Därför avvisar Nginx 1.31 nu HTTP/2- och HTTP/3-förfrågningar som innehåller anslutningsspecifika headers som:
Headern TE tillåts bara när den är satt till trailers.
Detta gör hanteringen mer strikt och minskar risken för felaktig tolkning av trafik.
WebDAV får hårdare kontroller
Även WebDAV-modulen har förstärkts. WebDAV gör det möjligt att hantera filer på en server via HTTP, till exempel kopiera, flytta eller ändra resurser.
I Nginx 1.31 avvisas nu COPY– och MOVE-förfrågningar om källan och destinationen är samma plats, eller om de har ett förälder–barn-förhållande.
Det kan låta som en liten detalj, men den typen av kontroller är viktiga. Utan dem kan filoperationer skapa logiska konflikter, oändliga kopieringsproblem eller andra oönskade effekter.
Mindre brus i loggarna
Versionen innehåller också mindre förändringar som påverkar drift och felsökning. Bland annat har loggnivån sänkts för vissa SSL-relaterade fel.
För systemadministratörer kan detta vara välkommet. Alla fel är inte lika allvarliga, och för höga loggnivåer kan göra det svårare att hitta verkligt viktiga problem i stora loggfiler.
Det finns även ett nytt configure-alternativ för att kunna inaktivera upstream sticky-modulen, samt fixar för HTTP/2 backend keepalive när proxy_set_body eller proxy_pass_request_body används.
Varför är Nginx 1.31 viktig?
Nginx 1.31 är intressant därför att den både breddar vad Nginx kan göra och stärker säkerheten i befintliga funktioner.
Forward proxy-stödet gör att Nginx kan användas i fler nätverksroller än tidigare. Samtidigt visar säkerhetsfixarna hur komplex modern webbtrafik har blivit. HTTP/2, HTTP/3, TLS, OCSP, QUIC, WebDAV och olika proxyfunktioner skapar tillsammans ett kraftfullt men avancerat ekosystem.
Ju fler lager som finns i trafikkedjan, desto viktigare blir det att varje del tolkar data på rätt sätt.
Sammanfattning
Nginx 1.31 är en viktig mainline-version för administratörer och tekniskt intresserade. Den stora nyheten är stödet för HTTP forward proxy via ngx_http_tunnel_module, men minst lika viktigt är de många säkerhetsfixarna i HTTP/2, HTTP/3, OCSP och flera centrala moduler.
För den som driver Nginx i produktion är detta en version att granska noggrant. Särskilt gäller det installationer som använder avancerad proxyhantering, HTTP/2, HTTP/3, WebDAV, SCGI, uWSGI eller OCSP.
Nginx fortsätter därmed att utvecklas från en snabb webbserver till ett allt mer mångsidigt verktyg för modern internettrafik.
Största nyheten: HTTP forward proxy-stöd via ngx_http_tunnel_module och CONNECT-metoden.
Proxyautentisering: Stöd via auth_basic, satisfy och auth_delay.
Lastbalansering: Nytt least_time-direktiv för att balansera trafik baserat på svarstid.
Stream-moduler: Nytt proxy_ssl_alpn-direktiv för ALPN-val mot SSL-upstreams.
Säkerhetsfixar: Åtgärdar sårbarheter i HTTP/2, HTTP/3, OCSP, WebDAV, rewrite-, proxy-, charset-, SCGI- och uWSGI-moduler.
Berörda CVE:er:
CVE-2026-42926, CVE-2026-42945, CVE-2026-42946, CVE-2026-42934, CVE-2026-40460 och CVE-2026-40701.
Rekommendation: Administratörer som använder Nginx med HTTP/2, HTTP/3, OCSP, WebDAV eller avancerade proxyfunktioner bör granska uppdateringen noggrant.
Den nya versionen av NGINX markerar ett viktigt steg för hur framtidens webb ska fungera. Med fokus på hastighet, säkerhet och modern teknik introducerar version 1.30 flera förbättringar som påverkar allt från hur snabbt webbsidor laddas till hur väl användarnas integritet skyddas.
Den nya stabila versionen av NGINX, version 1.30, har släppts och för med sig en rad förbättringar som gör webben både snabbare och säkrare. NGINX är idag en av världens mest använda webbservrar och driver över 30 procent av alla webbplatser, vilket gör varje uppdatering betydelsefull för en stor del av internet.
Snabbare webb med Early Hints
En av de mest spännande nyheterna är stöd för HTTP Early Hints, även kallat statuskod 103. Det innebär att servern kan börja skicka information till webbläsaren innan hela sidan är färdigbehandlad.
I praktiken betyder det att webbläsaren kan börja ladda viktiga resurser, som stilmallar och skript, tidigare än förut. Resultatet blir kortare laddningstider och en snabbare upplevelse för användaren.
Starkare integritet med Encrypted ClientHello
En annan viktig nyhet är stöd för Encrypted ClientHello (ECH). Trots att HTTPS redan krypterar mycket av trafiken har vissa delar tidigare varit synliga, till exempel vilken webbplats användaren försöker nå.
Med ECH krypteras även denna information, vilket gör det svårare för utomstående att övervaka surfvanor. Det är ett viktigt steg mot en mer privat och säker internetanvändning.
Smartare trafikhantering
NGINX 1.30 introducerar också förbättrad hantering av trafik mellan servrar. En ny funktion är så kallade sticky sessions, som ser till att en användare konsekvent kopplas till samma server i ett kluster.
Detta är särskilt viktigt för tjänster där sessioner spelar roll, som inloggningar eller e-handel. Dessutom har stödet för HTTP/2 utökats till kommunikationen mellan servrar, vilket gör interna system snabbare och mer effektiva.
Förbättringar i HTTP/2 och HTTP/3
Den nya versionen innehåller flera förbättringar för både HTTP/2 och HTTP/3. Dessa inkluderar bättre stabilitet, färre buggar och effektivare hantering av dataöverföring.
Även tekniska problem som tidigare kunnat orsaka krascher eller ineffektiv kommunikation har åtgärdats, vilket bidrar till en mer robust webbupplevelse.
Starkare kryptering och TLS-stöd
NGINX 1.30 förbättrar också stödet för modern kryptering. Bland nyheterna finns certifikatkomprimering, vilket kan snabba upp säkra anslutningar, samt bättre kompatibilitet med framtida versioner av krypteringsbibliotek som OpenSSL.
Dessutom introduceras nya variabler och förbättrad hantering av hur servrar identifieras vid säkra anslutningar.
Små förbättringar med stor effekt
Utöver de större funktionerna innehåller uppdateringen många mindre förbättringar. Till exempel är keep-alive nu aktiverat som standard, vilket förbättrar prestandan genom att återanvända anslutningar.
Flera buggar har också rättats, bland annat inom gRPC, cachehantering och proxyfunktioner, vilket gör systemet mer stabilt i praktisk användning.
Varför det spelar roll
Eftersom NGINX används av en så stor del av internet får dessa förbättringar bred påverkan. För användare innebär det snabbare laddningstider, bättre säkerhet och en mer stabil upplevelse.
För utvecklare och företag innebär det effektivare verktyg, modernare teknikstöd och färre tekniska problem att hantera.
Sammanfattning
NGINX 1.30 markerar ett tydligt steg framåt för webbteknik. Med förbättrad prestanda, starkare integritetsskydd och modernare protokollstöd bidrar uppdateringen till ett snabbare, säkrare och mer tillförlitligt internet.
Teknisk fakta: NGINX 1.30
Vad är NGINX?
NGINX är en webbserver och reverse proxy som används för att leverera webbsidor, hantera trafik och agera mellanhand mellan användare och backend-servrar.
Den är känd för sin höga prestanda, låga resursanvändning och förmåga att hantera många samtidiga anslutningar.
NGINX används ofta även som lastbalanserare och cache för att snabba upp webbapplikationer.
Version: 1.30
Gren: Ny stabil branch
Huvudfunktioner:
HTTP Early Hints (snabbare laddning), Encrypted ClientHello (förbättrad integritet),
sticky sessions (stabil sessionshantering), HTTP/2 till backend-servrar
Transport: Multipath TCP
Standard upstream: HTTP/1.1 med keep-alive aktiverat
TLS/SSL:
Certifikatkomprimering, stöd för OSSL_STORE, förbättrad SNI-hantering,
nya variabler för signaturalgoritmer och kompatibilitet med framtida OpenSSL-versioner
HTTP/2 & HTTP/3:
Förbättrad stabilitet, buggfixar, bättre hantering av headers och anslutningar,
samt förbättrad QUIC-integration
Övrigt:
Upstream keepalive aktiverat som standard, förbättrad cachehantering,
fixar för gRPC och proxyfunktioner
Den som håller på med hemsidor, där är webappen wordpress den populäraste appen. Men även andra webappar som är skrivna i PHP kan behöva testas. Med egen testmiljö för LAMP kan man testa sina projekt. Har man till exempel en dator som inte klarar Windows 11, kan den bli en utmärkt NAS och testmiljö för webbappar skrivna i PHP eller annat språk.
Har du en gammal dator som du vill ge nytt liv? Du kan förvandla den till en webbtjänande server genom att installera en LAMP-stack – en kombination av Linux, Apache, MySQL/MariaDB och PHP[1]. Linux utgör operativsystemet, Apache agerar webbserver som levererar webbsidor, MySQL eller MariaDB sköter databasen där data lagras, och PHP är scriptspråket som binder samman allt för att skapa dynamiska webbsidor. I den här guiden går vi igenom, steg för steg, hur du installerar och konfigurerar en LAMP-stack på en Debian- eller Ubuntu-baserad server i hemmet – exempelvis en äldre dator du har stående.
Målgruppen är nybörjare med viss teknisk erfarenhet. Vi håller därför en lättförståelig, populärvetenskaplig ton samtidigt som vi säkerställer att allting blir tekniskt korrekt. Guiden täcker allt från installation av Apache, MySQL/MariaDB och PHP, till hur du får systemet att fungera i ditt lokala nätverk (LAN), vidare till att installera och konfigurera WordPress (ett populärt innehållshanteringssystem) och hur du kan administrera WordPress via kommandoraden med WP-CLI. Vi avslutar med grundläggande säkerhetsaspekter – såsom brandvägg, lösenordshantering och varför du inte bör exponera din hemserver direkt mot internet.
Översikt av innehåll:
Förberedelser: Vad du behöver och hur du förbereder servern och nätverket innan installation.
Installation av LAMP: Stegvis installation av Apache, MySQL/MariaDB och PHP på Debian/Ubuntu.
Installation av WordPress: Hur du laddar ner och konfigurerar WordPress på din LAMP-server.
WP-CLI: Användning av WordPress Command Line Interface för att administrera din WordPress-sajt via terminalen.
Säkerhet: Grundläggande åtgärder för att säkra din hemmaserver och WordPress-installation.
Avslutande tips: Några sista råd kring underhåll och vidare förbättringar.
Låt oss börja med att säkerställa att allting är på plats för installationen!
Förberedelser
Innan vi ger oss in på installationen, behöver du förbereda följande:
En dator med Linux (Debian eller Ubuntu Server): Installera gärna den senaste LTS-versionen av Ubuntu Server eller en stabil Debian-release på datorn du vill använda som server. Se till att systemet är uppdaterat (sudo apt update && sudo apt upgrade) och att du har administratörsrättigheter (sudo) på ett användarkonto.
Nätverksanslutning: Serverdatorn bör vara ansluten till ditt lokala nätverk, helst via kabel för stabilitet. Notera serverns lokala IP-adress (t.ex. 192.168.x.y) – du kan hitta den genom kommandot hostname -I eller via din routers gränssnitt. För att förenkla åtkomst inom hemnätverket kan du överväga att ge servern en statisk IP-adress på LAN: enklaste sättet är ofta att reservera en IP i routerns DHCP-inställningar baserat på serverns MAC-adress. Då får servern alltid samma adress på hemnätet, vilket underlättar när du ska ansluta till den.
Grundläggande kommandoradskunskaper: Vi kommer att använda terminalen flitigt för installation och konfiguration. Du bör kunna köra enkla Linux-kommandon och redigera konfigurationsfiler med en textredigerare som nano eller vim. Om servern är huvudlös (ingen skärm) kan du ansluta via SSH från en annan dator i nätverket.
Internetuppkoppling: För att ladda ner uppdateringar och programvara (Apache, MySQL, PHP, WordPress etc.) behöver servern internetåtkomst under installationen.
När ovanstående är ordnat är du redo att börja sätta upp din LAMP-stack!
Installation av LAMP
En LAMP-stack består av tre huvudsakliga komponenter att installera (utöver Linux som redan körs på din server): webbservern Apache, databasen MySQL/MariaDB och scriptspråket PHP. Vi går igenom installationen av dessa steg för steg på en Debian/Ubuntu-baserad distribution.
Installera Apache (webbserver)
Uppdatera paketindex: Öppna terminalen på din server och kör först en uppdatering av paketlistan:
sudo apt update
Installera Apache: Därefter installerar du Apache2 med apt:
sudo apt install apache2
På Ubuntu/Debian startar Apache automatiskt efter installationen och ställs in att köra vid uppstart. För säkerhets skull kan du kontrollera Apache-status:
sudo systemctl status apache2
Tjänsten bör visas som aktiv (running). Apache levereras med en standardsida (”It works!”) som du nu kan testa. Öppna en webbläsare på en klientdator i samma nätverk och navigera till http://<serverns-IP-adress> – du bör se Apaches välkomstsida som bekräftar att webbservern körs[3].
Aktivera Apache i brandväggen: Ubuntu har en inbyggd brandvägg (ufw). Tillåt HTTP- och HTTPS-trafik i brandväggen så att webbförfrågningar kan nå Apache:
sudo ufw allow ’Apache Full’ sudo ufw enable
Kommandot ’Apache Full’ öppnar port 80 (HTTP) och 443 (HTTPS) i brandväggen[4]. (OBS: Om ufw inte är installerat på Debian kan du antingen installera det eller använda annan brandväggslösning; på ett hemnätverk bakom en router kan du även välja att initialt lita på NAT:en, men det är bra att ha en lokal brandvägg som extra skydd.)
Installera MySQL/MariaDB (databas)
Installera databasservern: Kör följande kommando för att installera MySQL-server (i Ubuntu 20.04+ installeras i själva verket ofta MariaDB, en community-version av MySQL, men för enkelhet kallar vi den MySQL):
sudo apt install mysql-server
Under installationen kan du bli ombedd att sätta ett root-lösenord för MySQL (detta beror på distributionens version – vissa moderna Ubuntu-versioner sätter ingen root-lösenord och använder sockets-autentisering). Oavsett vilket, kommer vi strax att säkra installationen.
Starta och kontrollera MySQL: Precis som med Apache, kontrollera att databasservern är igång:
sudo systemctl start mysql # startar tjänsten om den ej redan är igång sudo systemctl enable mysql # ser till att den startar vid boot sudo systemctl status mysql # visar status
MySQL/MariaDB bör nu köras.
Säkra databasinstallationen: MySQL kommer med ett praktiskt script för grundläggande säkerhetshärdning. Kör:
sudo mysql_secure_installation
Detta guide-program frågar en serie frågor för att säkra din databasserver. Du kommer bland annat kunna: sätta eller uppdatera root-lösenordet (om det inte redan är satt), ta bort anonyma användarkonton, förhindra root-inloggning via fjärranslutning samt ta bort testdatabasen[5]. Acceptera att ta bort/inaktivera osäkra inställningar genom att svara Yes på frågorna. Efter att skriptet kört färdigt har du en grundsäkert konfigurerad MySQL/MariaDB-instans – kom ihåg det root-lösenord du eventuellt angav.
Installera PHP (scriptspråk)
Installera PHP och nödvändiga moduler: Installera PHP samt tillhörande Apache- och databaskopplingar med:
sudo apt install php libapache2-mod-php php-mysql
Paketet libapache2-mod-php kopplar samman PHP med Apache (så att Apache kan tolka .php-filer), och php-mysql tillåter PHP att prata med MySQL/MariaDB[6]. Utöver dessa grundläggande paket kan det vara klokt att installera några vanliga PHP-tillägg som WordPress och dess plugins kan behöva, t.ex. cURL, GD, mbstring, XML m.fl. Du kan installera flera på en gång:
(Ovanstående inkluderar vanliga tillägg; du kan alltid installera fler senare om något plugin kräver det.) När PHP och tilläggen är installerade, ladda om Apache så att eventuella nya moduler tas i bruk:
sudo systemctl restart apache2
Testa PHP (valfritt): För att verifiera att PHP fungerar med Apache kan du skapa en testfil. Kör t.ex.:
echo ”<?php phpinfo(); ?>” | sudo tee /var/www/html/info.php
Navigera sedan i webbläsaren till http://<serverns-IP>/info.php. Om du ser en sida med PHP-information (PHP-version och konfigurationsdetaljer) så fungerar PHP som det ska. Kom ihåg att ta bort testfilen senare av säkerhetsskäl (sudo rm /var/www/html/info.php), då den avslöjar detaljer om din PHP-konfiguration.
Brandvägg och lokal nätverksåtkomst
Efter att Apache, MySQL och PHP är installerade och körs, har du i princip en fungerande LAMP-server. Några viktiga punkter för att få allt att fungera smidigt på hemnätverket:
Brandvägg och portar: Vi aktiverade UFW-brandväggen och öppnade för ”Apache Full” tidigare, vilket innebär att din server tar emot trafik på port 80 (HTTP) och 443 (HTTPS). I ett hemmanätverk bakom en router är servern som standard inte tillgänglig utifrån internet (såvida du inte särskilt öppnar/forwardar portar på din router). För intern åtkomst inom LAN räcker det att brandväggen tillåter trafiken. Kontrollera att du kan nå Apache från en annan dator i nätverket via serverns IP-adress (som vi testade med välkomstsidan).
Lokal DNS (valfritt): Det kan bli lite omständligt att komma ihåg IP-adressen. Om du vill kan du på dina klientdatorer uppdatera deras hosts-fil så att t.ex. ett smidigt namn (som ”minserver.local”) pekar på serverns IP – eller använd din routers ev. funktion för lokala värdnamn. Detta är dock extra lyx; IP-adressen duger bra för att fortsätta installationen.
Statisk IP: Som nämnt bland förberedelserna, se till att serverns IP inte ändras över tid. Det bästa är att ställa in att den alltid får samma IP. Du kan antingen konfigurera detta i själva serverns nätverksinställningar (statisk IP via Netplan/DHCP override) eller mycket enkelt via routerns webbgränssnitt genom att binda serverns MAC-adress till en fast IP i DHCP (den enklaste lösningen enligt många). Detta förhindrar att servern plötsligt får en ny adress (vilket annars kan hända efter omstarter) och att dina bokmärken/inställningar till servern skulle sluta fungera.
Nu har vi en grundläggande LAMP-stack i drift. Dags att lägga till WordPress för att få en komplett hemsida!
Installation av WordPress
WordPress är ett av världens mest populära verktyg för att bygga webbplatser och bloggar. Vi kommer nu att installera WordPress på vår nya LAMP-server. Processen omfattar att skapa en databas åt WordPress, hämta själva WordPress-programvaran och konfigurera den.
Skapa en MySQL-databas för WordPress
WordPress behöver en egen databas att lagra all sin information i (inlägg, användare, inställningar, etc.). Vi använder MySQL/MariaDB som vi installerade för detta. Följande steg utförs i MySQL:s shell:
Logga in i MySQL: Kör sudo mysql -u root -p på servern för att logga in i MySQL prompten som root (administratör). Ange root-lösenordet du satte tidigare (om inget lösenord sattes, kör bara sudo mysql utan -p).
Skapa databas: När du fått MySQLs prompt (mysql>), skapa en ny databas som WordPress ska använda. Du kan kalla den vad du vill – i exemplet nedan används wordpress:
CREATE DATABASE wordpress;
Detta skapar en databas som heter ”wordpress”[9]. (Om du vill använda ett annat namn går det bra, notera det då för kommande steg.)
Skapa användare: För bättre säkerhet är det rekommenderat att inte låta WordPress använda root-kontot till databasen, utan skapa en dedikerad databas-användare. Skapa t.ex. en användare wordpressuser med ett lösenord:
CREATE USER ’wordpressuser’@’localhost’ IDENTIFIED BY ’ditt_lösenord’;
Byt ut ’ditt_lösenord’ mot ett starkt lösenord du väljer för databasanvändaren (minst 12 tecken, gärna slumpmässigt). Med detta kommando skapas en ny MySQL-användare wordpressuser som endast kan logga in från localhost (det vill säga från servern själv).
Ge användaren rättigheter: Nu ger vi den nya användaren fullständig åtkomst till den nya databasen:
GRANT ALL PRIVILEGES ON wordpress.* TO ’wordpressuser’@’localhost’;
Detta ger wordpressuser fulla rättigheter (ALL PRIVILEGES) på alla tabeller i databasen ”wordpress”. Det innebär att WordPress kan skapa tabeller, läsa, skriva och ändra data i databasen som behövs.
Spara ändringarna och avsluta: Inom MySQL behöver man uppdatera rättighetsinställningarna med:
FLUSH PRIVILEGES; EXIT;
FLUSH PRIVILEGES ser till att MySQL laddar in de nya användarrättigheterna utan omstart, och EXIT lämnar MySQL-prompten. Vi har nu en databas (wordpress) och en användare (wordpressuser) med tillhörande lösenord klara för WordPress att använda
Ladda ner och installera WordPress-filerna
Med databasen på plats är nästa steg att hämta WordPress-programvaran och placera den i webbserverns katalog.
Ladda ner WordPress: Gå till en temporär mapp, t.ex. /tmp, och ladda ner senaste WordPress-release (på svenska eller engelska – vi tar den engelska standardversionen här). Kör på servern:
cd /tmp curl -O https://wordpress.org/latest.tar.gz
Detta hämtar arkivfilen latest.tar.gz från WordPress officiella webbplats[13], som innehåller alla WordPress-filer.
Extrahera filer: Extrahera arkivet:
tar xzvf latest.tar.gz
Det skapar en katalog som heter wordpress/ med WordPress-filerna.
Flytta WordPress till webbplatsens rot: Apache serverar som standard filer från /var/www/html/. Vi flyttar nu över WordPress-filerna dit. Om du inte har andra webbplatser på servern kan vi lägga WordPress direkt i html-mappen:
sudo cp -a /tmp/wordpress/. /var/www/html/
Flaggan -a (archive) ser till att kopiera alla filer och behålla rättigheter. Slutet /. ser till att dolda filer också följer med. Efter denna kopiering ligger nu WordPress PHP-filer i /var/www/html, samma ställe som Apaches ”It works”-indexsida låg. Du kan ta bort den gamla index.html (Apache välkomstsidan) från /var/www/html för att inte den ska visas i stället för WordPress: sudo rm /var/www/html/index.html.
Ägarskap och rättigheter: För att WordPress senare ska kunna ladda upp filer, ändra inställningar och uppdatera själv, behöver webbservern (Apache) ägarskap till filerna. Apache kör som användaren www-data på Ubuntu/Debian. Sätt nu ägare för alla WordPress-filer till www-data:
sudo chown -R www-data:www-data /var/www/html
Detta ger webbservern kontroll över filerna[15]. Som ytterligare säkerhetsåtgärd kan man sätta strikta filrättigheter: t.ex. 750 för kataloger och 640 för filer, vilket hindrar obehöriga användare på systemet från att läsa/köra filerna. Exempel:
sudo find /var/www/html/ -type d -exec chmod 750 {} \; sudo find /var/www/html/ -type f -exec chmod 640 {} \;
(Detta är en rekommenderad utgångspunkt; WordPress bör fungera med dessa rättigheter, men vissa plugin kan kräva justeringar senare. Grundprincipen är att www-data ska ha access, men ingen annan behöver det.)
Konfigurationsfil (wp-config.php): WordPress behöver en konfigurationsfil med databasuppgifterna. Normalt kan detta göras genom installationsguiden i webbläsaren (nästa steg) – WordPress försöker då spara inställningarna åt dig. Tack vare att vi satt rätt ägarskap på filerna kan WordPress skapa filen själv. Om det av någon anledning inte lyckas, kan du manuellt skapa den genom att kopiera wp-config-sample.php till wp-config.php:
…och fylla i databasinformationen (DB_NAME, DB_USER, DB_PASSWORD) för wordpress-databasen och wordpressuser-användaren vi skapade[16]. Samt passa på att lägga till unika salter/nycklar för säkerhet (WordPress hemliga nycklar) enligt instruktion i filen – dessa kan genereras från WordPress.org:s hemliga nyckeltjänst. Om du istället låter webbinstallationsguiden hantera detta kan du hoppa över manuellt skapande; vi beskriver det nedan.
Slutför installationen via webbläsaren
Nu är alla filer på plats och databasen redo. Det är dags att köra WordPress berömda “fem-minuters installation” via webbgränssnittet:
Öppna installationssidan: På en dator i ditt nätverk, öppna webbläsaren och gå till http://<serverns-IP-adress>/ (eller om du satte ett värdnamn, använd det). Eftersom vi lade WordPress i webbrotkatalogen bör adressen visa WordPress installationsguide. Du blir först ombedd att välja språk för installationen. Välj exempelvis Svenska om du vill ha WordPress på svenska, eller fortsätt med engelska – det går alltid att ändra språk senare. Klicka “Fortsätt/Continue”.
Databasuppgifter: WordPress kommer sedan fråga efter databasnamn, användarnamn och lösenord. Ange de uppgifter du skapade tidigare:
Databasnamn:wordpress (om du valde det namnet, annars ditt egna namn)
Användarnamn:wordpressuser
Lösenord: det lösenord du satte för wordpressuser-kontot.
Databasserver:localhost (WordPress kör på samma server som databasen).
Tabellprefix: wp_ är standard och duger bra om du inte har speciella skäl att ändra.
Skicka iväg uppgifterna. WordPress kopplar nu upp mot databasen. Om allt är rätt ifyllt får du en bekräftelse och kan fortsätta.
Skapa administratörskonto: Nästa steg i guiden ber om information för sajtens grundkonfiguration:
Webbplatstitel: Namnet på din webbplats (t.ex. “Min Blogg”).
Administratörsanvändare: Ett administratörslogin för WordPress. Välj inte “admin” som användarnamn – ta något unikt.
Lösenord: Ett starkt lösenord för administratören föreslås automatiskt. Du kan använda det eller skriva ett eget, men se till att det är starkt (WordPress varnar om det är för svagt)[19].
Din e-postadress: Ange en e-post dit WordPress kan skicka återställningslänkar och notiser.
Sökmotorsynlighet: Du kan välja att avmarkera “Tillåt sökmotorer indexera denna sida” ifall du inte vill att din hemsida ska dyka upp på Google ännu (praktiskt för en testsajt på hemnätet). Denna inställning kan ändras senare.
Klicka sedan på “Installera WordPress” (Install WordPress). WordPress kommer nu att konfigurera klart allt i databasen.
Installation klar – logga in: Om inga fel uppstod möts du av en sida som säger att WordPress har installerats, och du kan klicka på “Logga in” för att gå till inloggningssidan (eller gå direkt till http://<server-IP>/wp-admin/). Logga in med det admin-användarnamn och lösenord du valde. Du tas då till WordPress administratörspanel (dashboard), där du kan börja skapa inlägg, sidor, ändra utseende etc.
Grattis! Du har nu en egen WordPress-sajt som körs på din hemmaserver. Men innan vi börjar använda den på allvar, låt oss titta på hur man kan sköta WordPress via terminalen med WP-CLI, samt hur man säkrar upp installationen.
WP-CLI – WordPress via terminalen
Att administrera WordPress via webbläsarens wp-admin-gränssnitt fungerar fint för det mesta. Men det finns ett kraftfullt verktyg för dig som inte räds terminalen: WP-CLI (WordPress Command Line Interface). WP-CLI låter dig hantera WordPress-sajten med kommandon direkt i terminalen, vilket kan vara både snabbare och smidigare för många uppgifter. Du kan till exempel uppdatera WordPress-kärnan, installera eller uppdatera plugins och teman, hantera användare, skapa inlägg med mera – allt utan att behöva klicka runt i webbläsaren. Detta är särskilt användbart om du administrerar flera sajter eller bara föredrar att automatisera och skripta saker.
Installation av WP-CLI
WP-CLI är ett fristående PHP-baserat verktyg. Så här installerar du det på din Ubuntu/Debian-server:
Hämta WP-CLI: Ladda ner WP-CLI som en PHP-arkivfil (.phar) till din server:
Detta laddar ner filen wp-cli.phar till din nuvarande katalog.
Testkör WP-CLI: Du kan nu prova köra verktyget med:
php wp-cli.phar –info
Om WP-CLI är nedladdat korrekt ser du information om miljön (PHP-version m.m.).
Gör WP-CLI körbar globalt: För att slippa skriva php wp-cli.phar varje gång, gör vi filen körbar och flyttar den till en katalog i PATH (så att den kan köras som ett vanligt kommando). Till exempel:
Detta flyttar filen och döper kommandot till wp (du kan välja annat namn om du vill)[23]. Testa nu med wp –info – du bör få liknande utskrift som tidigare, vilket bekräftar att installationen lyckades.
(Notera: På vissa distributioner kan WP-CLI finnas i pakethanteraren, men den metoden är inte alltid uppdaterad. Den officiella och rekommenderade vägen är som ovan att använda Phar-filen.)
Exempel på vad du kan göra med WP-CLI
Nu när WP-CLI är installerat, här är några vanliga administrationsuppgifter du kan utföra med det:
Uppdatera WordPress-kärnan: Istället för att logga in i wp-admin och klicka på uppdatering, kör bara:
wp core update && wp core update-db
Detta laddar ner och installerar senaste WordPress-versionen och uppdaterar databasen vid behov – allt i en handvändning.
Uppdatera plugins: Du kan uppdatera alla dina tillägg med ett enda kommando:
wp plugin update –all
Då hämtas och uppdateras samtliga installerade insticksprogram till senaste version. (Du kan också uppdatera ett enskilt plugin med wp plugin update plugin-namn om du vill.)
Installera och aktivera ett plugin eller tema: För att installera ett nytt plugin, till exempel cache-pluginet WP Super Cache, kör:
wp plugin install wp-super-cache –activate
Detta söker upp pluginet på WordPress plugin-katalog, laddar ner det och aktiverar det direkt. Du kan göra samma sak för teman med wp theme install tema-namn –activate.
Hantera användare och inlägg: WP-CLI låter dig även skapa nya användare, resetta lösenord, generera nya inlägg, exportera databasen, med mera. T.ex. för att skapa en ny användare:
wp user create johndoe [email protected] –role=author –user_pass=”MittLösen123″
skulle skapa en författaranvändare åt ”John Doe” med angivet lösenord.
Övrigt: Det finns kommando för i princip allt i WordPress: wp search-replace för att göra sök-och-ersätt i databasen (nyttigt vid t.ex. domänbyte), wp option update för att ändra inställningar, wp post list för att lista inlägg, osv. Du kan se alla tillgängliga kommandon med:
wp help
eller wp <subcommand> –help för detaljer om ett specifikt kommando.
Som du märker kan WP-CLI kraftigt förenkla underhållet. Det är helt frivilligt att använda – allt detta kan göras via det grafiska gränssnittet också – men för den tekniskt nyfikne är det ett utmärkt verktyg som sparar tid och ger mer kontroll.
(Säkerhetstips: När du använder WP-CLI på en produktionssajt som är åtkomlig från internet, tänk på att kommandon som uppdaterar saker sker direkt. Det är klokt att ta backup innan större uppdateringar, även om WP-CLI i sig inte är farligt.)*
Säkerhet
Nu har vi en fungerande WordPress-server i ditt hemnätverk. Innan vi nöjt lutar oss tillbaka är det viktigt att titta på grundläggande säkerhet. Att köra en server innebär ansvar att skydda den från obehörig åtkomst och attacker. Här är några viktiga säkerhetsaspekter och tips:
Brandvägg och åtkomstbegränsning: Vi har redan aktiverat UFW-brandväggen och öppnat nödvändiga portar för webbservern internt. För en hemmaserver som inte ska nås från internet räcker detta. Exponera inte din server mot internet i onödan. Om du inte absolut behöver fjärråtkomst utifrån, låt bli att öppna portforwarding på din router för port 80/443. En hemserver utan rätt skydd kan snabbt bli utsatt för intrångsförsök. I diskussioner på nätet avråder erfarna användare starkt från att ha en server direkt exponerad mot internet utan brandvägg – om din server inte har en avancerad brandväggskonfiguration, koppla bort den från direkt internet. Håll den bakom din router/NAT där den är skyddad. (Om du måste ge åtkomst utifrån, överväg att sätta upp en VPN, använda en reverse proxy-tjänst som Cloudflare Tunnel, eller åtminstone se till att HTTPS/SSL är använt och att du har extra autentisering.)
Starka lösenord överallt: Använd starka, unika lösenord för alla konton – det inkluderar MySQL-databasens användare, WordPress admin-konto, samt Linux-användare (särskilt om SSH är åtkomligt). Undvik enkla eller vanliga lösenord. WordPress gav en styrkeindikator för admin-lösenordet; följ den rekommendationen. Byt gärna ut standardanvändarnamnet “admin” till något annat för WordPress admin-kontot, ifall du råkat välja det.
Håll systemet uppdaterat: En av de viktigaste säkerhetsåtgärderna är att kontinuerligt uppdatera din programvara. Se till att din Ubuntu/Debian får säkerhetsuppdateringar (du kan köra sudo apt update && sudo apt upgrade manuellt regelbundet, eller aktivera automatiska säkerhetsuppdateringar). Detsamma gäller för WordPress och dess tillägg/teman – föråldrade plugins med kända sårbarheter är en vanlig angreppsvektor. Använd antingen WP-CLI eller WordPress inbyggda uppdateringsfunktion för att hålla allt up-to-date. Ett tips är att i WordPress-inställningarna aktivera automatiska uppdateringar för mindre release-versioner och plugins vid behov.
Säkerhet i WordPress: Överväg att installera ett säkerhetsplugin i WordPress som ytterligare skyddslager. Populära alternativ är t.ex. Wordfence eller Sucuri som kan skanna efter malware och blockera misstänkt trafik. Dessa kan hjälpa att upptäcka och stoppa attacker mot din sajt. Se också till att endast behövliga plugins är installerade och radera de du inte använder (färre plugins minskar potentiella sårbarheter).
Begränsa exponering på nätverket: Eftersom detta är en hemmaserver för internt bruk, se till att den endast är nåbar där det behövs. Du kan till exempel ställa in UFW-regler som begränsar port 80/443 så att de bara kan nås från din lokala subnät (t.ex. sudo ufw allow from 192.168.0.0/24 to any port 80 om ditt LAN är 192.168.0.x). Då blockeras även eventuell åtkomst från utanför nätverket. Om du har SSH igång, överväg att byta SSH-port från 22 till något annat, och använd nyckelbaserad inloggning för att förhindra lösenordsgissning.
SSL/TLS för webb: Även om sajten bara körs på LAN kan det vara bra att sätta upp HTTPS om du någon gång exponerar den. På internet skulle vi absolut rekommendera att skaffa ett Let’s Encrypt-certifikat för din domän (om du har en), eller åtminstone ett självsignerat certifikat för kryptering på LAN. HTTPS krypterar trafiken så att ingen utomstående kan avlyssna lösenord eller data som skickas.
Regelbundna backuper: Ta för vana att säkerhetskopiera din WordPress-databas och eventuella uppladdade filer. Eftersom detta är på en egen server kan du skripta en mysqldump av databasen då och då, eller använda ett WordPress-backupplugin. Spara backuperna på en annan enhet. Detta skyddar dig ifall något går fel (t.ex. en uppgradering som strular till det, hårddiskfel, eller om du råkar radera något av misstag).
Sammanfattningsvis handlar säkerhet om lager-på-lager: brandvägg, begränsad åtkomst, starka lösenord, uppdateringar och säkerhetskopior. Genom att följa dessa råd skyddar du din hemmaserver mot de vanligaste riskerna och kan tryggt experimentera vidare. Tänk på: om du någon gång öppnar servern mot internet, var extra noggrann med alla ovanstående punkter – internet är fullt av bottar som skannar efter sårbara servrar.
Avslutande tips
Du har nu en fullt fungerande LAMP-server med WordPress i ditt hemnätverk! Här är några avslutande tips för att ta ditt projekt vidare och hålla allting snurrande:
Lär känna WordPress och fortsätt anpassa: Logga in på WordPress och utforska dess adminpanel. Byt till ett tema du gillar, skapa några sidor/inlägg och prova installera något nytt plugin. Det finns massor av gratis teman och plugins att utforska för nästan alla behov. Kom dock ihåg att inte installera för många onödiga plugin – håll det till det du verkligen använder, både för prestanda och säkerhet.
Prestanda på hemservern: En äldre dator kan ha begränsad prestanda. Om du märker att sajten är långsam, fundera på att installera ett cache-plugin (t.ex. WP Super Cache vi nämnde) för att snabba upp sidladdningar genom att servera statiska sidor. Se också till att onödiga tjänster inte körs på servern och konsumerar resurser. För enstaka användare i ett LAN är dock prestandakravet oftast lågt.
Utforska fler möjligheter: Nu när din server är igång, kanske du vill köra fler tjänster på den? Du kan exempelvis sätta upp phpMyAdmin för enklare databashantering via webben (om än WP-CLI och MySQL-shell räcker långt), eller installera andra webbapplikationer vid sidan av WordPress (kom ihåg att då konfigurera Apache virtuella värdar för flera sajter). Din LAMP-server kan vara värd för flera projekt samtidigt. Varje sajt kan få sin egen databas och egen katalog under /var/www.
Underhåll är nyckeln: Som med alla system är regelbundet underhåll viktigt. Håll ett öga på uppdateringar både för servern och WordPress. Städa bort sådant du inte behöver. Och framför allt, fortsätt lära dig! Om något problem uppstår, konsultera loggfilerna (Apache loggar finns i /var/log/apache2/ och WordPress fel loggas ofta via PHP). Communityn för både WordPress och Linux är stor – det finns forum och guider för det mesta. Minns att nyckeln till en framgångsrik webbplats inte bara är själva uppsättningen, utan dessfortlöpande underhåll och förbättring[33]. Med andra ord, fortsätt pyssla om din server även efter att den är satt i drift.
Vi hoppas denna guide hjälpt dig komma igång med att installera LAMP-stack och WordPress på din hemmadator. Lycka till med ditt webbprojektexperiment och ha kul på vägen! Skulle något krångla, finns det många resurser online – och glöm inte att backup är din bästa vän när du experimenterar. Happy hosting!
Förklaring av vad de olika delkomponenterna gör
Apache: En populär webbserverprogramvara som körs på servern för att leverera webbsidor till besökarnas webbläsare. Apache tar emot förfrågningar från webbläsare och svarar med innehållet (t.ex. din WordPress-sida). I LAMP-stacken utgör Apache “webbserver”-delen.
Brandvägg: Ett säkerhetssystem som skyddar nätverk och datorer mot intrång genom att kontrollera vilken trafik som tillåts passerar. En brandvägg kan konfigureras att bara släppa igenom viss trafik (t.ex. webbtrafik på port 80/443 till din WordPress-server) och blockera obehöriga anslutningar.
Debian: En Linux-distribution (operativsystem) som främst används för servrar och infrastruktur. Debian är känt för stabilitet och öppen källkod. I det här sammanhanget kan Debian vara serverns operativsystem där du installerar LAMP-komponenterna och WordPress.
IP-adress: En unik sifferkombination som identifierar en enhet (dator, server m.m.) i ett nätverk[4]. Genom att använda serverns IP-adress kan andra datorer i hemmanätverket hitta fram till din WordPress-server och visa webbsidan.
LAMP: Akronym för Linux, Apache, MySQL, PHP[5]. Det är en paketlösning (s.k. tech stack) där Linux är operativsystemet, Apache är webbservern, MySQL är databashanteraren och PHP är programmeringsspråket. En LAMP-stack innehåller alltså allt som behövs för att driva en WordPress-webbplats på en lokal server.
LAN (Local Area Network): Ett lokalt nätverk som består av enheter inom ett begränsat område (t.ex. i hemmet). I ett hemmanätverk (LAN) är din WordPress-server ansluten till samma router som dina andra enheter, vilket gör att de kan kommunicera direkt med servern inom det lokala nätet.
Linux: Ett operativsystem med öppen källkod som är vanligt på servrar. Linux är grunden i LAMP-stacken (L:et står för Linux) och utgör serverns OS. Både Debian och Ubuntu är Linux-varianter; en av dem körs på serverdatorn för att du ska kunna installera Apache, MySQL, PHP och WordPress.
MySQL/MariaDB: Detta är databashanteringssystem som används för att lagra och hämta all information som hör till din webbplats – till exempel inlägg, användarkonton och inställningar. WordPress är byggt för att arbeta med databaser av den här typen. På moderna Linux-servrar installeras ofta MariaDB som ett alternativ till MySQL; de fungerar i princip likadant och är fullt kompatibla med WordPress. I en LAMP-stack utgör MySQL eller MariaDB den komponent som ansvarar för själva datalagringen.
PHP: Ett skriptspråk på serversidan som används för att skapa dynamiska webbsidor[9]. WordPress är skrivet i PHP, vilket innebär att PHP-kod körs på servern för att generera HTML-sidorna. När en användare besöker din WordPress-sida så tolkar PHP koden och bygger ihop sidan som sedan skickas till användarens webbläsare.
Port: Inom datanätverk avser en port ett nummer som fungerar som en kanal eller “adress” för en viss typ av trafik[10]. Till exempel använder webbtrafik vanligtvis port 80 för HTTP och port 443 för HTTPS. För att din WordPress-server ska vara åtkomlig i nätverket behöver rätt port öppnas (t.ex. port 80 så att hemsidan kan nås, och port 22 för SSH-fjärrinloggning), ofta i samarbete med brandväggen.
Root-användare: Det högsta administratörskontot i ett Linux-system (kallas även superuser) som har obegränsade rättigheter[11]. Root-användaren kan installera program, ändra systeminställningar och utföra alla kommandon. Av säkerhetsskäl loggar man vanligtvis inte in direkt som root; istället använder man ett normalt användarkonto och sudo-kommandot för att tillfälligt få root-behörighet vid administration av servern.
SSH (Secure Shell): Ett protokoll som används för att ansluta säkert till en annan dator över nätverket[12]. Via SSH kan du öppna en terminal till din server och köra kommandon på distans som om du satt vid den. I vårt sammanhang används SSH för att fjärrstyra Debian/Ubuntu-servern i hemmanätverket – till exempel för att installera paket eller hantera WordPress via kommandoraden.
Ubuntu: En av de mest populära Linux-distributionerna för datoranvändare, baserad på Debian[13]. Ubuntu finns i versioner för servrar och är känt för att vara användarvänligt. I det här sammanhanget kan Ubuntu (Server-edition) användas som operativsystem på din hemmaserver innan du installerar LAMP-paketet och WordPress.
WordPress: Ett mycket populärt publiceringsverktyg (Content Management System, CMS) för webben[14]. Med WordPress kan man enkelt skapa och hantera en hemsida eller blogg via ett webbgränssnitt. I vår situation installerar du WordPress på LAMP-servern i hemmanätverket, vilket låter dig driva en egen lokal webbplats och administrera innehållet genom WordPress kontrollpanel.
WP-CLI:WordPress Command Line Interface, ett verktyg som låter dig hantera WordPress-webbplatsen via kommandoraden[15]. Med WP-CLI kan du sköta många administrationsuppgifter direkt i terminalen – till exempel installera eller uppdatera WordPress, lägga till användare, hantera teman och insticksprogram – utan att behöva använda WordPress grafiska webbgränssnitt.
Detta projekt använder en klassisk LAMP-stack:
– Linux (Ubuntu/Debian)
– Apache som webbserver
– MySQL eller MariaDB som databas
– PHP som serversidespråk
WordPress installeras direkt i /var/www/html och kopplas till en dedikerad databas.
WP-CLI gör det möjligt att administrera sajten via terminalen.
Servern är endast tillgänglig inom hemnätverket (LAN) via statisk IP-adress.
Portar 80 (HTTP) och 443 (HTTPS) tillåts lokalt via ufw.
Perfekt för testning av egna webbappar, teman och plugins utan att publicera dem online.
I en tid när allt fler QR-koder används för att koppla samman den fysiska och digitala världen, står tjänsten qr.televinken.org som ett exempel på digital självständighet. Här skapar du egna QR-koder för webbsidor, kontaktkort, e-post eller telefon – utan konton, reklam eller mellanhänder. En enkel och fri lösning, slöjdad fram med hjälp av en virtuell Linux-maskin och ChatGPT.
I en tid när allt fler QR-koder används för att länka till webbsidor, kontaktkort och evenemang, har många vant sig vid att använda olika onlinetjänster för att skapa dem. Problemet är att dessa tjänster ofta kräver registrering, lagrar data hos sig själva, eller tar betalt för att ladda ner QR-koder i hög upplösning.
Det var just det här som blev startpunkten för qr.televinken.org – en fristående QR-kodtjänst som bygger på enkelhet, frihet och digital självständighet.
En tjänst skapad för självständiga användare
Till skillnad från många kommersiella QR-tjänster är qr.televinken.org inte beroende av någon central aktör eller inloggning. Du behöver inte skapa konto, du behöver inte lämna ifrån dig några personuppgifter – och du får din QR-kod direkt, i hög kvalitet, redo att användas var du vill.
Tjänsten är skapad med tanken om digital självhushållning: att användaren själv ska kunna skapa det man behöver, utan att vara beroende av en mellanhand.
Webbadresser – länka till din hemsida eller ett dokument.
SMS och telefonnummer – låt folk kontakta dig med ett enda skann.
E-postadresser – skapa en färdig “mailto”-länk i QR-form.
Visitkort (vCard) – dela dina kontaktuppgifter snabbt och modernt.
Sedan mobilkameror började läsa QR-koder direkt har användningen exploderat, och qr.televinken.org gör det möjligt för alla att skapa dem på ett tryggt och självständigt sätt.
Frihet i fokus
Det här handlar inte bara om QR-koder – det handlar om digital frihet. Med qr.televinken.org slipper du reklam, abonnemang och dolda spårningstjänster. Det är en QR-tjänst som respekterar användaren och levererar det viktigaste: en enkel, snygg och högupplöst QR-kod – utan krångel.
Ett gott exempel på digital slöjd
qr.televinken.org är ett lysande exempel på vad man faktiskt kan slöjda ihop själv, med hjälp av en virtuell Linux-maskin och ChatGPT som assistent. Det visar att den som vill, kan skapa sin egen fungerande onlinetjänst – utan att vara ett företag, utan dyra verktyg och utan beroende av stora molnplattformar.
En ny tid för digitalt skapande
Ända sedan de första hemdatorerna gjorde entré i våra hem har man sagt att ”endast fantasin sätter gränser.” Men sanningen är att även den bästa idén ofta stannade vid just en idé – eftersom det krävdes programmeringskunskaper för att förverkliga den.
Med moderna AI-verktyg som ChatGPT har den verkligheten förändrats. Det som tidigare krävde dyra konsulter eller år av studier kan i dag lösas av vem som helst med lite jävlar anamma, nyfikenhet och en vilja att skapa.
Vi lever i en tid där kreativitet inte längre stoppas av tekniken – tvärtom hjälper tekniken oss att frigöra fantasin. Och med ett verktyg som ChatGPT vid sin sida kan man, från sin egen kammare, bygga något som både är användbart, tillgängligt och helt fritt från beroenden.
Ett litet steg för en QR-kod – men ett stort steg för digital självständighet.
Det här behöver du för att bygga en egen webbtjänst liknande den som qr.televinken.org
Att bygga en egen webbtjänst behöver inte vara svårt – det handlar mest om nyfikenhet och viljan att prova. Med en virtuell Linux-maskin, lite grundläggande serverkunskap och hjälp från ChatGPT kan du skapa en fullt fungerande tjänst på egen hand.
1. En LAMP-miljö
Du behöver en LAMP-miljö (Linux, Apache, MySQL, PHP). Det går utmärkt att köra i en virtuell maskin – till exempel i VMware, VirtualBox eller på en äldre fysisk dator. Ett bra val är Ubuntu Server eller Debian 13.
2. Installera grunderna
Installera Apache, PHP och MySQL med:
sudo apt install apache2 php mysql-server
Öppna sedan webbläsaren och gå till http://<din maskins IP-adress> för att testa att Apache fungerar.
3. Skaffa ett ChatGPT-konto
Ett gratiskonto räcker långt. ChatGPT kan hjälpa dig att förstå felmeddelanden, förklara konfigurationsfiler och föreslå lösningar i realtid.
4. Konfigurera din miljö
När du kör din virtuella maskin, se till att den har en egen IP-adress (t.ex. via “Bridged mode”). Installera därefter Apache, PHP och MySQL. Då kan du nå servern direkt från din dator via nätverket.
5. Dela filer mellan Linux och Windows
Om du använder Windows som värdsystem kan du dela data mellan Windows och Linux med Samba.
sudo apt install samba
Redigera sedan /etc/samba/smb.conf och dela ut mappen /var/www/html för enkel åtkomst.
6. Testa din första sida
Skapa filen /var/www/html/index.php med:
<?php echo "Hej världen!"; ?>
Öppna den i webbläsaren – du har just byggt din första webbtjänst!
7. Be ChatGPT om hjälp
Om något inte fungerar, fråga ChatGPT. Det är som att ha en kunnig handledare tillgänglig dygnet runt.
Slutsats:
Med Linux, en virtuell maskin och ChatGPT kan vem som helst bygga en fungerande, stabil och fri webbtjänst – oavsett om det gäller QR-koder, kontaktformulär eller något helt annat.
Digital slöjd när den är som bäst – enkelt, lärorikt och helt i egen regi.
Commodores diskettstationer var långt mer än enkla tillbehör. Från stora 8-tumsstationer för PET- och CBM-datorer till den klassiska 1541 för Commodore 64 och den mer avancerade 1571 för Commodore […]
Ericsson Hotline 900 Pocket var en av de tidiga mobiltelefonerna som markerade övergången från biltelefoner och tunga transportabla enheter till verkligt handhållna mobiler. Med dagens mått var den stor, […]
Butoba MT 7 F var en liten men avancerad rullbandspelare från början av 1960-talet, byggd i en tid då ljudinspelning höll på att bli verkligt portabel. Med batteridrift, två […]
Acer Aspire One blev en av de tydligaste symbolerna för netbook-eran – den korta men intensiva period då datorbranschen trodde att framtidens vardagsdator skulle vara liten, billig och ständigt […]
DECstation var Digital Equipment Corporations försök att möta den nya RISC-eran. Med snabba MIPS-processorer, Unix-systemet ULTRIX och avancerad grafik blev maskinerna viktiga arbetsstationer för forskare, ingenjörer och utvecklare. Samtidigt […]
Yamaha DX7 såg kanske inte märkvärdig ut när den lanserades 1983, men den förändrade ljudet av en hel musikgeneration. Med digital FM-syntes, klara elpianon, metalliska klockljud och ett pris […]
VAX-11 var datorfamiljen som visade att en minidator kunde mäta sig med betydligt dyrare stordatorer. När DEC lanserade VAX-11/780 1977 fick universitet, företag och forskningsmiljöer tillgång till en kraftfull […]
Commodore CBM-II var tänkt att bli den moderna efterföljaren till PET-serien och ta Commodore vidare in på både hemma- och kontorsmarknaden. Med mer minne, avancerad bankväxling, SID-ljud och professionella […]
När Commodore PET lanserades 1977 var persondatorn fortfarande ett djärvt löfte om framtiden. Med robust plåtchassi, inbyggd skärm, BASIC i ROM och en blinkande markör blev PET och de […]
Amiga 500 blev för många mer än en hemdator – den blev en första glimt av framtiden. Med färgstark grafik, stereoljud och spelupplevelser som stack ut från mängden tog […]
Vi kommer hem till dig i Stockholm området och hjälper dig med dator, skrivare, kablar, TV, nätverk och annat tekniskt.
Vi arbetar med Linux, Windows och Mac.
Discover the latest qBittorrent 5.2 release! Explore new features and enhancements in this powerful open-source BitTorrent client. Download now! The post qBittorrent 5.2 Open-Source BitTorrent Client Released with Many New Features appeared first on Linux Today.
Explore NHS England's potential move to privatize GitHub repositories amid AI concerns. Understand the impact on data sharing and public access. The post NHS England May Make Public GitHub Repositories Private Over AI Concerns appeared first on Linux Today.
Discover the recently patched Copy Fail Linux kernel vulnerability affecting Debian, Ubuntu, and more. Stay secure with the latest updates and insights. The post Copy Fail Linux Kernel Vulnerability Now Patched in Debian, Ubuntu, and Others appeared first on Linux Today.
Discover the step-by-step guide to install Odoo 18 on Ubuntu 26.04. Simplify your setup process and enhance your business management today! The post How to Install Odoo 18 on Ubuntu 26.04 appeared first on Linux Today.
Discover the features of GCC 16.1, the first release in the GCC 16 series, now with C++20 as the default standard. Upgrade your coding experience today! The post GCC 16.1 Released as First GCC 16 Series Release with C++20 Default appeared first on Linux Today.
Explore the future of AI in Ubuntu with thoughtful Snap integration. Discover how this technology enhances user experience and drives innovation. The post Future of AI in Ubuntu: Thoughtful Integration via Snap appeared first on Linux Today.
Explore the new features of DavMail 6.7, including TOTP MFA support, for improved security and seamless access to your Exchange services. The post DavMail 6.7 Exchange Gateway Adds TOTP MFA Support appeared first on Linux Today.
Explore the latest Uptime Kuma 2.3 update, featuring OracleDB monitoring and status page groups to streamline your uptime tracking and reporting. The post Uptime Kuma 2.3 Adds OracleDB Monitoring and Status Page Groups appeared first on Linux Today.
Discover 10 essential free and open-source audio effects, mixers, and PipeWire routing tools to enhance your sound production and creativity. The post 10 Useful Free and Open Source Audio Effects, Mixers, and PipeWire Routing Tools appeared first on Linux Today.
Discover how KDE Plasma 6.7 enhances your visual experience with sharper zoom upscaling. Explore the latest features and improvements today! The post KDE Plasma 6.7 Is Getting Sharper Zoom Upscaling appeared first on Linux Today.
Exfatprogs 1.4 exFAT utils for Linux has been released today with improvements and new features for the mkfs.exfat, fsck.exfat, and exfatprogs programs. The post Linux’s exFAT Progs 1.4 Released with Partition Table Creation Support appeared first on 9to5Linux – do not reproduce this article without permission. This RSS feed is intended for readers, not scrapers.
COSMIC 1.0.14 desktop environment is now available with improvements to COSMIC Files, COSMIC Term, COSMIC Edit, COSMIC Settings, COSMIC Panel, COSMIC Store, and COSMIC Applets. The post COSMIC 1.0.14 Desktop Adds Keybind Support for Non-Latin Keyboard Layouts appeared first on 9to5Linux – do not reproduce this article without permission. This RSS feed is intended for […]
Mozilla Firefox 151.0.2 open-source web browser is now available for download with improvements to the Split View feature, disk caching, website and forms compatibility, and more. The post Mozilla Firefox 151.0.2 Is Out Now to Improve Split View, Disk Caching, and More appeared first on 9to5Linux – do not reproduce this article without permission. This […]
NVIDIA 610 graphics driver is now available for download with support for new Vulkan extensions, support for creating Vulkan logical devices from multiple physical devices, and more. The post NVIDIA 610 Linux Graphics Driver Adds Vulkan and Wayland Improvements appeared first on 9to5Linux – do not reproduce this article without permission. This RSS feed is […]
IPFire 2.29 Core Update 202 hardened Linux firewall distro is now available for download with OpenVPN 2.7, security patches for Dirty Frag and Copy Fail vulnerabilities, and other changes. The post IPFire 2.29 Core Update 202 Linux Firewall Distro Released with OpenVPN 2.7 appeared first on 9to5Linux – do not reproduce this article without permission. […]
AlmaLinux OS 10.2 distribution is now available for download as a free alternative to Red Hat Enterprise Linux 10.2. Here’s what’s new! The post AlmaLinux OS 10.2 Released as a Free Alternative to Red Hat Enterprise Linux 10.2 appeared first on 9to5Linux – do not reproduce this article without permission. This RSS feed is intended […]
PipeWire 1.6.6 audio/video server for Linux is now available for download with more improvements for the Pulse server, filter graph, and more. The post PipeWire 1.6.6 Improves the Pulse Server, Volume Initialization in Filter Graph appeared first on 9to5Linux – do not reproduce this article without permission. This RSS feed is intended for readers, not […]
Sway 1.12 Wayland compositor is now available for download with HDR10 support when running with the Vulkan renderer, support for capturing individual windows, and other changes. The post Sway 1.12 Wayland Compositor Released with HDR10 Support via Vulkan Renderer appeared first on 9to5Linux – do not reproduce this article without permission. This RSS feed is […]
AppGrid 1.8 open-source application launcher for the KDE Plasma desktop environment is now available for download with new features and improvements. Here's what's new! The post AppGrid 1.8 Native App Launcher for KDE Plasma 6 Is Out with New Features appeared first on 9to5Linux – do not reproduce this article without permission. This RSS feed […]
MKVToolNix 99.0 open-source MKV manipulation tool is now available for download with the ability to remember the last used directory when selecting audio files, and many other changes. Here’s what’s changed! The post MKVToolNix 99.0 MKV Manipulation Tool Improves the MKVToolNix GUI, mkvmerge appeared first on 9to5Linux – do not reproduce this article without permission. […]
Here’s a quick rundown of the 10 quick tips after you finish installing a brand new Fedora 44 workstation edition. In this article, we will talk about a few post-install tips for Fedora 44 workstation edition. These are a good starting point if you are installing a fresh Fedora 44 workstation edition for all user… […]
Here’s are the quick steps on how you can upgrade to the Fedora 44 version. Fedora 44 is officially available for download and the upgrade channels are now available. This release brings the latest and greatest GNOME 50 desktop for workstation editions, refinements to KDE Plasma desktop and more updates. If you are trying to… […]
Canonical is bringing thoughtful, local-first AI to Ubuntu – enhancing accessibility, enabling intelligent agents, and keeping user privacy and open source values at the core. As we move through 2026, large language models (LLMs) and AI tools have become ubiquitous across the tech industry. Adoption varies widely – some projects dive in headfirst, while others… […]
Xubuntu 26.04 LTS is here – a fast, lightweight, and beautiful release featuring Xfce 4.20 and special 20th anniversary wallpapers. Xubuntu 26.04 LTS codenamed ‘Resolute Raccoon’ released on April 23, 2026. This lightweight flavour of Ubuntu brings the stable Xfce 4.20 desktop along with three years of support until April 2029. It celebrates 20 years… […]
We round up the best new features of the upcoming fedora 44 workstation edition release. Fedora 44 is released on April 28, 2026. This significant release brings the latest and greatest GNOME 50 to Workstation, Linux kernel 6.19, and many practical updates across desktops and tools. It balances new technology with excellent usability, making it… […]
Ubuntu 26.04 LTS codenamed “Resolute Raccoon” brings exciting improvements in desktop experience, security, and hardware support for the next five years. Ubuntu 26.04 LTS codenamed “Resolute Raccoon” released on April 23, 2026. This is the latest long-term support release that brings solid improvements in security, desktop experience, and hardware support. This release, will be receiving… […]
OpenShot 3.5 is here with major speed and smoothness upgrades that make video editing feel much more responsive and enjoyable. The free and open source video editor OpenShot 3.5 arrives with major speed, smoothness, and power improvements. This is one of the biggest releases in its 18-year history. A new default timeline, 35% overall performance… […]
We round up the EndeavourOS Titan release. EndeavourOS Titan is now available, released on March 12 2026. This fresh Arch-based ISO brings smarter hardware support and a smoother installation experience while keeping the lightweight, customizable spirit we all love. This Arch-based distribution gives me the pure Arch experience with a friendly installer and helpful tools…. […]
Learn about the key feature sets of GNOME 50 desktop environment. A fresh release of GNOME 50 “Tokyo” landed on March 18, 2026. This version brings solid improvements in parental controls, accessibility, file management, and display technologies. It marks a big step forward for families, assistive tech users, and everyday productivity while making the desktop… […]
We round up the key feature sets of Linux Kernel 6.18. Linus Torvalds released Linux Kernel 6.18 on November 30, 2025. This is the last mainline kernel of the year and is expected to become the 2025 Long Term Support (LTS) kernel. It brings many new features and hardware updates while staying focused on stability… […]
Annons
Digital Fixare
Strul med e-posten? Hjälp med TV? Problem med wifi?
Digital Fixare
Datorproblem kan vara både frustrerande och tidskrävande – men hjälp finns nära till hands. Hos Datorhjälp i Bromma får du personlig och kunnig support, oavsett om det gäller en trasig laptop, krånglande e-post eller installation av ny teknik i hemmet. Med butik på Orrspelsvägen 13 och möjlighet till hembesök över hela Stockholm hjälper våra erfarna […]
När datorn krånglar, Wi-Fi-uppkopplingen sviktar eller skrivaren vägrar fungera kan vardagen snabbt bli frustrerande. För boende kring Karlaplan finns nu möjlighet att få snabb och personlig datorhjälp direkt i hemmet – till ett förmånligt pris med RUT-avdrag. Allt fler hushåll runt Karlaplan väljer att få teknisk hjälp på plats i stället för att ta sig […]
När datorn krånglar, wifi slutar fungera eller den nya mobilen känns svår att förstå finns personlig hjälp att få i Bergshamra. Genom hembesök i lugn miljö och pedagogiskt stöd på plats blir tekniken enklare att hantera – dessutom till halva kostnaden tack vare RUT-avdraget. Bergshamra. När datorn låser sig, e-posten slutar fungera eller den nya […]
När datorn krånglar, wifi strular eller den nya mobilen känns svår att förstå finns personlig hjälp att få i Hässelby Strand. Genom hembesök i lugn miljö och pedagogiskt stöd på plats blir tekniken enklare att hantera – dessutom till halva kostnaden tack vare RUT-avdraget. Hässelby Strand. När datorn låser sig, e-posten slutar fungera eller den […]
När tekniken krånglar i vardagen – från datorer som låser sig till wifi som inte fungerar – finns personlig hjälp att få i Högdalen. Med hembesök i lugn och trygg miljö, pedagogiska förklaringar och möjlighet till halva kostnaden genom RUT-avdraget blir det enklare att få digitala problem lösta. Högdalen. När datorn fryser, e-posten slutar fungera […]
När datorn krånglar, Wi-Fi-uppkopplingen svajar eller skrivaren vägrar fungera kan vardagen snabbt bli både stressig och tidskrävande. För boende i Rågsved finns nu möjlighet att få snabb och personlig datorhjälp direkt i hemmet – till ett förmånligt pris med RUT-avdrag. När datorn krånglar, Wi-Fi-uppkopplingen svajar eller skrivaren vägrar fungera kan vardagen snabbt bli både stressig […]
När tekniken krånglar i vardagen – från strulande datorer och e-post till wifi som inte vill fungera – finns personlig hjälp att få i Vårberg. Med hembesök i lugn och ro och möjlighet till halva kostnaden via RUT-avdraget erbjuds ett tryggt och pedagogiskt stöd för den som vill få tekniken att fungera igen. Vårberg. När […]
När datorn krånglar, internetuppkopplingen svajar eller skrivaren vägrar fungera kan vardagen snabbt bli både stressig och tidskrävande. För boende i Norsborg finns nu möjlighet att få snabb och personlig datorhjälp direkt i hemmet – till ett förmånligt pris med RUT-avdrag. Allt fler hushåll i Norsborg väljer att få teknisk hjälp på plats i stället för […]
När datorn krånglar, internetuppkopplingen svajar eller skrivaren vägrar fungera kan vardagen snabbt bli frustrerande. För boende runt Huddinge Centrum finns nu möjlighet att få snabb och personlig datorhjälp direkt i hemmet – till ett förmånligt pris tack vare RUT-avdraget. Allt fler hushåll i området kring Huddinge Centrum väljer att få teknisk hjälp på plats i […]
När datorn krånglar, Wi-Fi-uppkopplingen sviktar eller skrivaren inte vill fungera kan vardagen snabbt bli frustrerande. För boende kring S:t Eriksplan finns nu möjlighet att få snabb och personlig datorhjälp direkt i hemmet – till ett förmånligt pris med RUT-avdrag. Allt fler hushåll i området runt S:t Eriksplan väljer att få teknisk hjälp på plats i […]
Nginx är en av internets viktigaste byggstenar. Den används för att leverera webbsidor, fördela trafik mellan servrar och fungera som mellanhand mellan användare och webbapplikationer. Med Nginx 1.31 tar projektet ett nytt steg: webbservern får stöd för HTTP forward proxy, samtidigt som flera säkerhetshål i moderna webbprotokoll som HTTP/2 och HTTP/3 täpps till. För de…
Den nya versionen av NGINX markerar ett viktigt steg för hur framtidens webb ska fungera. Med fokus på hastighet, säkerhet och modern teknik introducerar version 1.30 flera förbättringar som påverkar allt från hur snabbt webbsidor laddas till hur väl användarnas integritet skyddas. Den nya stabila versionen av NGINX, version 1.30, har släppts och för med…
Den som håller på med hemsidor, där är webappen wordpress den populäraste appen. Men även andra webappar som är skrivna i PHP kan behöva testas. Med egen testmiljö för LAMP kan man testa sina projekt. Har man till exempel en dator som inte klarar Windows 11, kan den bli en utmärkt NAS och testmiljö för…
I en tid när allt fler QR-koder används för att koppla samman den fysiska och digitala världen, står tjänsten qr.televinken.org som ett exempel på digital självständighet. Här skapar du egna QR-koder för webbsidor, kontaktkort, e-post eller telefon – utan konton, reklam eller mellanhänder. En enkel och fri lösning, slöjdad fram med hjälp av en virtuell…