• Nginx 1.31 släpps med forward proxy-stöd och flera säkerhetsfixar

    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:

    Connection
    Proxy-Connection
    Keep-Alive
    Transfer-Encoding
    Upgrade

    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.

    https://github.com/nginx/nginx/releases/tag/release-1.31.0

    Teknisk faktaruta: Nginx 1.31

    Version: Nginx 1.31

    Utgåva: Mainline-release

    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.

  • NGINX 1.30 – snabbare, säkrare och smartare webb

    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

  • Pangolin 1.16

    Pangolin 1.16 tar ett tydligt kliv mot säkrare fjärråtkomst genom att koppla klassisk SSH-inloggning till en identitetsbaserad modell. Med en ny SSH auth-daemon som utfärdar tidsbegränsade, signerade certifikat minskar behovet av permanenta nycklar, samtidigt som plattformen får bättre översikt över privata resurser och snabbare hantering i större installationer.

    En ny version av Pangolin har släppts – och den innebär ett tydligt steg mot säkrare och mer identitetsbaserad fjärråtkomst. Version 1.16 introducerar en SSH-autentiseringsdaemon, förbättrad resursöversikt och bättre skalbarhet för större installationer.

    Plattformen, som är öppen källkod och kan driftas själv, kombinerar en tunnlad reverse proxy med ett säkerhetstänk inspirerat av zero trust. Det betyder att åtkomst inte längre bygger på var du befinner dig i nätverket, utan på vem du är och vilka rättigheter du har.

    SSH utan permanenta nycklar

    Den största nyheten är den nya SSH auth-daemonen. Traditionellt bygger SSH-inloggning på statiska nyckelpar där en publik nyckel lagras på servern och en privat nyckel finns hos användaren. Dessa nycklar kan ligga kvar i systemet under lång tid och riskerar att bli en säkerhetslucka om de inte hanteras korrekt.

    Med den nya lösningen utfärdas i stället tillfälliga, signerade certifikat för varje inloggning. Autentiseringen kopplas direkt till användarens identitet i systemet. När sessionen är över upphör certifikatet att gälla.

    Det innebär att:

    Tillgången är tidsbegränsad
    Behörigheter kan styras centralt
    Administrationen av statiska nycklar minskar

    På så sätt anpassas klassisk SSH-åtkomst till en modern identitetsmodell.

    Tydligare översikt över privata resurser

    En annan förbättring är hur privata resurser visas för användare. Tidigare var översikten främst tydlig för administratörer. Nu ser även vanliga användare vilka resurser de faktiskt har tillgång till.

    Det gör systemet mer transparent och minskar behovet av manuella förfrågningar om åtkomst. Användaren får en klar bild av sina rättigheter direkt i gränssnittet.

    Bättre prestanda i större miljöer

    Version 1.16 introducerar även serverbaserad paginering, filtrering, sortering och sökning i större tabeller. I praktiken betyder det att databehandlingen sker på servern i stället för i webbläsaren.

    För organisationer med många användare, resurser eller policyregler innebär detta snabbare och mer responsiva administrationsverktyg. Skalbarheten förbättras och plattformen blir mer lämpad för större installationer.

    Små förbättringar som förenklar

    Utöver de större nyheterna har utvecklarna lagt till stöd för mer flexibel branding genom att tillåta sökvägar i logotyp-URL:er. Användare kan nu också radera sina konton direkt från profilsidan, och installationsskriptet har fått tydligare dialoger för en smidigare uppstart.

    En del av en större säkerhetstrend

    Pangolin 1.16 illustrerar en bredare utveckling inom IT-säkerhet. Allt fler system rör sig bort från permanenta nycklar och fasta åtkomster och över mot tillfälliga, identitetsbaserade certifikat.

    Det är ett steg mot en framtid där åtkomst inte bara handlar om teknisk anslutning, utan om verifierad identitet, tydliga rättigheter och minimal exponering. För organisationer som vill ha full kontroll över sin egen infrastruktur utan att förlita sig på externa molntjänster är detta en intressant utveckling.

    https://github.com/fosrl/pangolin/releases/tag/1.16.0

    Pangolin 1.16 – fakta
    Vad är det? Identitetsbaserad fjärråtkomst med tunnlad reverse proxy och zero-trust-liknande åtkomst.
    Största nyheten SSH auth-daemon som utfärdar tidsbegränsade, signerade certifikat kopplade till användaridentiteter.
    Varför viktigt? Minskar behovet av statiska SSH-nycklar och förenar SSH med plattformens behörighetsmodell.
    Övriga förbättringar Synligare privata resurser för användare, server-side paginering/sök/filter/sortering och bättre branding-stöd.
    Målgrupp Sysadmins, devops-team och organisationer som driftar egen säker fjärråtkomst.
  • Icecast 2.5 – små förbättringar med stor betydelse

    Icecast är tillbaka med version 2.5 – en efterlängtad uppdatering av den populära streamingservern som driver allt från internetradiostationer till ideella ljudprojekt världen över. Även om förändringarna inte är revolutionerande efter den långa tiden sedan förra stabila släppet, bjuder Icecast 2.5 på flera välkomna förbättringar: ett modernare webbgränssnitt med experimentellt mörkt läge, mer detaljerad realtidsinformation för administratörer samt tekniska justeringar som gör servern stabilare och bättre anpassad för dagens proxy- och molnmiljöer.

    Icecast är sedan länge en trotjänare inom internetradio och ljudströmning. Tack vare sin lättviktiga design, flexibilitet och breda kompatibilitet används Icecast av allt från ideella närradiostationer och community-projekt till enskilda streamers. Servern hanterar ljudformat som MP3, Ogg Vorbis, Opus och AAC och fungerar med klienter och källprogramvara på i princip alla plattformar.

    Efter en ovanligt lång paus sedan senaste stabila versionen är Icecast 2.5 nu här. För den som väntat sig en dramatisk omdaning kan uppdateringen kännas försiktig – men den innehåller flera viktiga förbättringar som stärker både användarupplevelse och teknisk stabilitet.

    Förbättrat webbgränssnitt och experimentellt mörkt läge

    Den mest synliga förändringen i Icecast 2.5 är uppdateringarna av webbgränssnittet. Här har fokus legat på bättre användbarhet och ett modernare visuellt intryck. En nyhet som sticker ut är införandet av ett experimentellt mörkt läge, något som länge efterfrågats av administratörer som ofta arbetar i webbpanelen under längre pass eller i mörka miljöer.

    Även om mörkt läge fortfarande är märkt som experimentellt visar det att projektet tar steg mot ett mer samtida gränssnitt, utan att för den skull bryta med Icecasts tradition av enkelhet.

    Mer informativa händelser i realtid

    Icecasts händelsesystem har fått en välkommen uppdatering. I version 2.5 inkluderas nu lyssnarantal i källhändelser, vilket ger mer detaljerad realtidsinformation till system som använder Icecasts event-notifieringar.

    Detta är särskilt värdefullt för externa övervakningslösningar, loggningssystem och integrationer som behöver veta exakt hur en ström används i varje ögonblick.

    Bättre stöd för moderna servermiljöer

    På protokollnivå har Icecast 2.5 förbättrats för att fungera bättre i moderna driftsmiljöer. Stöd för X-Forwarded-For via virtuella sockets gör att servern nu kan hantera klienternas riktiga IP-adresser korrekt när Icecast körs bakom reverse proxies eller lastbalanserare.

    Detta är en viktig förbättring för molnbaserade installationer och mer avancerade nätverksuppsättningar, där korrekt klientinformation är avgörande för statistik, loggning och säkerhet.

    Stabilare TLS och mer detaljerat API

    Hanteringen av TLS-klienter under hög buffertbelastning har justerats i Icecast 2.5. Resultatet är bättre stabilitet och mer förutsägbart beteende i krävande streaming-scenarier, till exempel vid många samtidiga lyssnare.

    Samtidigt har Icecast-API:t utökats med mer detaljerad information om anslutna klienter. Det ger bättre insyn i serverns tillstånd och användning, utan att befintliga arbetsflöden eller integrationer behöver ändras.

    Små ändringar som stärker helheten

    Utöver de mer synliga nyheterna innehåller Icecast 2.5 även ett antal mindre buggfixar och städningar i CI- och bygginfrastrukturen. Sådana förändringar märks sällan direkt av slutanvändare, men de bidrar till ett mer robust och långsiktigt hållbart projekt.

    Sammanfattning

    Icecast 2.5 är ingen dramatisk nystart, utan snarare en genomtänkt och stabil vidareutveckling. För befintliga användare innebär uppdateringen ett modernare webbgränssnitt, bättre realtidsdata och förbättrad stabilitet i komplexa miljöer.

    Det är en uppdatering som passar Icecasts roll perfekt: ett pålitligt verktyg som ska kunna leverera ljud dygnet runt, år efter år.

    https://icecast.org

    FAKTARUTA: ICECAST 2.5
    Typ: Streaming media server (ljud)
    Vanlig användning: Internetradio, community-sändningar, privata streams
    Ljudformat: MP3, Ogg Vorbis, Opus, AAC
    Nyheter i 2.5
    • Förbättrad webbpanel med användbarhets- och designlyft
    • Experimentellt mörkt läge i webbgränssnittet
    • Event-systemet: lyssnarantal ingår i source-events för bättre realtidsdata
    • Stöd för X-Forwarded-For via virtuella sockets (bättre bakom proxy/load balancer)
    • Justeringar för TLS-klienter under hög buffertbelastning (stabilare drift)
    • Mer detaljerad klientdata i API:t (bättre observability)
    • Mindre fixar samt städning i CI- och bygginfrastruktur
    Tips: Kör Icecast bakom reverse proxy? Kontrollera X-Forwarded-For-inställningar och loggning.
  • Installera Wiki.js på debian eller Ubuntu

    Introduktion

    Wiki.js är en modern, snabb och modulär wiki-mjukvara med öppen källkod. Den bygger på Node.js, lagrar innehåll i Git och Markdown och stöder flera databasmotorer som PostgreSQL, MySQL och SQLite. Wiki.js kan distribueras lokalt, i molnet eller i containermiljöer (Docker/Kubernetes), och stöder autentisering via LDAP, OAuth2, SAML med flera.

    I denna guide installerar vi Wiki.js på Debian 12 eller Ubuntu 22.04, med val mellan PostgreSQL eller MySQL som databas, och Nginx eller Apache som webbserver. Vi visar också hur du aktiverar SSL med Let’s Encrypt.

    Förutsättningar

    • En Debian- eller Ubuntu-server med root eller sudo
    • Ett domännamn som pekar till servern (exempel: wiki.example.com)
    • Portarna 80 och 443 öppna i brandväggen

    Steg 1: Installera Node.js

    Wiki.js kräver Node.js version 16 eller senare. Här använder vi version 18:

    curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
    sudo apt install -y nodejs
    

    Bekräfta installationen:

    node -v
    

    Steg 2: Installera databas

    Alternativ A: PostgreSQL (rekommenderat)

    sudo apt install -y postgresql postgresql-contrib
    sudo -u postgres psql
    

    Inuti psql:

    CREATE DATABASE wikijs;
    CREATE USER wikijs WITH PASSWORD 'sakerlösenord';
    ALTER ROLE wikijs SET client_encoding TO 'utf8';
    ALTER ROLE wikijs SET default_transaction_isolation TO 'read committed';
    ALTER ROLE wikijs SET timezone TO 'UTC';
    GRANT ALL PRIVILEGES ON DATABASE wikijs TO wikijs;
    \q
    

    Alternativ B: MySQL / MariaDB

    sudo apt install -y mariadb-server
    sudo mysql -u root -p
    

    Inuti MySQL:

    CREATE DATABASE wikijs CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'wikijs'@'localhost' IDENTIFIED BY 'sakerlösenord';
    GRANT ALL PRIVILEGES ON wikijs.* TO 'wikijs'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
    

    Steg 3: Installera Wiki.js

    sudo mkdir -p /opt/wikijs && cd /opt/wikijs
    sudo curl -s https://wiki.js.org/install.sh | sudo bash
    

    Fyll i databasuppgifter beroende på om du använder PostgreSQL eller MySQL.

    Steg 4: Testa att Wiki.js kör lokalt

    ss -tulpn | grep 3000
    

    Om Wiki.js körs, visas att Node.js lyssnar på 127.0.0.1:3000.

    Steg 5: Reverse proxy med Nginx eller Apache

    Alternativ A: Nginx

    sudo apt install -y nginx
    sudo nano /etc/nginx/sites-available/wikijs
    

    Innehåll:

    server {
        listen 80;
        server_name wiki.example.com;
    
        location / {
            proxy_pass http://127.0.0.1:3000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    
    sudo ln -s /etc/nginx/sites-available/wikijs /etc/nginx/sites-enabled
    sudo nginx -t && sudo systemctl reload nginx
    

    Alternativ B: Apache

    sudo apt install -y apache2
    sudo a2enmod proxy proxy_http proxy_wstunnel rewrite headers
    

    Skapa konfiguration:

    sudo nano /etc/apache2/sites-available/wikijs.conf
    

    Innehåll:

    <VirtualHost *:80>
        ServerName wiki.example.com
    
        ProxyPreserveHost On
        ProxyRequests Off
        ProxyPass / http://127.0.0.1:3000/
        ProxyPassReverse / http://127.0.0.1:3000/
    
        ErrorLog ${APACHE_LOG_DIR}/wikijs.error.log
        CustomLog ${APACHE_LOG_DIR}/wikijs.access.log combined
    </VirtualHost>
    
    sudo a2ensite wikijs.conf
    sudo systemctl reload apache2
    

    Steg 6: Aktivera HTTPS med Let’s Encrypt

    Installera Certbot:

    sudo apt install -y certbot python3-certbot-nginx python3-certbot-apache
    

    För Nginx:

    sudo certbot --nginx -d wiki.example.com
    

    För Apache:

    sudo certbot --apache -d wiki.example.com
    

    Testa automatisk förnyelse:

    sudo certbot renew --dry-run
    

    Steg 7: Slutför installationen i webbläsaren

    Öppna din webbläsare och gå till:

    https://wiki.example.com
    

    Skapa administratörsanvändare och slutför konfigurationen.

    Slutsats

    Du har nu installerat Wiki.js på Debian eller Ubuntu med PostgreSQL eller MySQL, samt Apache eller Nginx som reverse proxy. Med Let’s Encrypt är installationen säkrad via HTTPS. Wiki.js är redo att användas för både intern dokumentation och publika kunskapsbaser.

    Glöm inte att hålla systemet uppdaterat och konfigurera regelbundna säkerhetskopior.

    Mer information och dokumentation: https://docs.requarks.io/

    Fakta om Wiki.js

    Wiki.js är en modern wiki-motor med öppen källkod, utvecklad av Requarks. Den första versionen lanserades 2016 och har sedan dess blivit ett populärt val för både organisationer och enskilda användare som behöver en effektiv dokumentationsplattform.

    Funktioner

    • Byggd med Node.js för hög prestanda och låg resursförbrukning.
    • Stöd för databaser som PostgreSQL, MySQL och SQLite.
    • Versionshantering via Git – dokumenthistorik kan spåras och återskapas.
    • Modulbaserad arkitektur – välj själv vilka funktioner som ska aktiveras.
    • Stöd för användarautentisering via LDAP, OAuth2, SAML med flera.
    • Webbgränssnittet är responsivt och fungerar både på dator och mobil.
    • Kan installeras på egen server, i molnmiljö eller med Docker/Kubernetes.

    Vad är Markdown?

    Markdown är ett enkelt markeringsspråk som gör det möjligt att skriva strukturerad text med minimal syntax. Det används i Wiki.js för att skapa och redigera innehåll utan att behöva skriva HTML. Nedan är ett exempel:

    # Rubriknivå 1
    ## Rubriknivå 2
    
    **Fet text**, _kursiv text_
    
    - Punkt 1
    - Punkt 2
    
    [Länktext](https://exempel.se)
      

    Markdown är läsbart även i råform, vilket gör det smidigt att hantera dokument både via webben och i Git-repositorier.

    Mer information finns på js.wiki och daringfireball.net.

Etikett: reverse proxy

  • Nginx 1.31 släpps med forward proxy-stöd och flera säkerhetsfixar

    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…

  • NGINX 1.30 – snabbare, säkrare och smartare webb

    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…

  • Pangolin 1.16

    Pangolin 1.16 tar ett tydligt kliv mot säkrare fjärråtkomst genom att koppla klassisk SSH-inloggning till en identitetsbaserad modell. Med en ny SSH auth-daemon som utfärdar tidsbegränsade, signerade certifikat minskar behovet av permanenta nycklar, samtidigt som plattformen får bättre översikt över privata resurser och snabbare hantering i större installationer. En ny version av Pangolin har släppts…

  • Icecast 2.5 – små förbättringar med stor betydelse

    Icecast är tillbaka med version 2.5 – en efterlängtad uppdatering av den populära streamingservern som driver allt från internetradiostationer till ideella ljudprojekt världen över. Även om förändringarna inte är revolutionerande efter den långa tiden sedan förra stabila släppet, bjuder Icecast 2.5 på flera välkomna förbättringar: ett modernare webbgränssnitt med experimentellt mörkt läge, mer detaljerad realtidsinformation…

  • Installera Wiki.js på debian eller Ubuntu

    Introduktion Wiki.js är en modern, snabb och modulär wiki-mjukvara med öppen källkod. Den bygger på Node.js, lagrar innehåll i Git och Markdown och stöder flera databasmotorer som PostgreSQL, MySQL och SQLite. Wiki.js kan distribueras lokalt, i molnet eller i containermiljöer (Docker/Kubernetes), och stöder autentisering via LDAP, OAuth2, SAML med flera. I denna guide installerar vi…