Installation
En ny server från grunden: Grav och dess plugin med pluginhanteraren, temat och Groovys plugin ur paket, konfigen och det första kontot.
En ny installation byggs av en ren Grav, Gravs egna plugin från Gravs
pluginhanterare (bin/gpm) och Groovys fyra delar ur paket: temat
groovy-docs och pluginen subsites, mail-auth och mcp. Ingen kod
behöver kopieras från repot.
Alla kommandon på servern körs från webbroten, som den användare som äger filerna där. Annars kan sajten inte skriva i sina egna mappar.
Det som behövs
- PHP i den version Grav kräver (Grav 2.2: 8.3 eller senare), med
tilläggen
zip,dom,xmlwriter,mbstringochgd.pdo_sqlitebehövs för sökning på servern. - nginx, om installationen ska ha fler än en sajt. Regeln för flera sajter finns bara för nginx. Med Apache fungerar grundsajten, men inga subsajter.
- En SMTP-server för inloggningsmejlen. Alla utom super-admin loggar in med en länk i ett mejl.
- Utgående HTTPS från PHP är valfritt: webbfonter och förhandsbilder för inbäddade videor. Utan det används systemfonter och en vanlig spelare.
Paketen
Paketen byggs från en klon av repot och hamnar i mappen dist/, som inte
checkas in:
bin/setup
bin/package
Det ger:
| Fil | Vad |
|---|---|
groovy-docs-<version>.zip |
temat |
subsites-<version>.zip, mail-auth-<version>.zip, mcp-<version>.zip |
pluginen |
groovy-multisite.zip |
setup.php och nginx-regeln, för flera sajter |
skill-groovy-docs-super-admin.zip, skill-groovy-docs-editor.zip |
temats skills för en AI-klient (sidan AI-klient) |
VERSIONS.txt |
den Grav och de plugin delarna är provade med |
Paketen byggs från det som är incheckat. Bygg dem på nytt efter en ändring i temat eller pluginen. Kopiera dem till servern.
Steg för steg
-
Grav. Hämta Grav i versionen i
VERSIONS.txtfrån Gravs sida på GitHub (Releases, filengrav-v<version>.zip). Packa upp den så att mappen blir webbroten. -
Gravs plugin, i versionerna i
VERSIONS.txt. Ett plugin i taget, med adressen till just den versionen:php bin/gpm direct-install -y https://getgrav.org/download/plugins/form/<version>Gör så för
form,email,login,api,admin2,flex-objectsochtntsearch. Medbin/gpm installkan ett plugin bli nyare än det provade, eftersom ett annat plugin kräver det.error,problems,shortcode-coreochgithub-markdown-alertsföljer med Grav. Jämför deras versioner medVERSIONS.txt(php bin/gpm version <namn>). -
Temat och Groovys plugin, ett paket i taget:
php bin/gpm direct-install -y /sökväg/till/groovy-docs-<version>.zip php bin/gpm direct-install -y /sökväg/till/subsites-<version>.zip php bin/gpm direct-install -y /sökväg/till/mail-auth-<version>.zip php bin/gpm direct-install -y /sökväg/till/mcp-<version>.zipUtan tillgång till serverns filer: ladda upp paketen i Admin2 (på
/admin, efter steg 6) under Tools → Direct Install. Temat är ungefär 6 MB. PHP tillåter ofta bara 2 MB per uppladdning, och Admin2 svarar då Either a "url" field or an uploaded "file" is required. Höj gränsen i PHP:s inställningar först:upload_max_filesize = 64M post_max_size = 64MStarta sedan om PHP. I imagen
linuxserver/gravhör raderna hemma i/config/php/php-local.ini. Med Easypanel kan filen läggas dit utan terminal: tjänsten → Storage → Add File Mount, med sökvägen ovan och raderna som innehåll, och sedan Deploy. -
Konfigen. Allt i det här steget går att göra i Admin2 (på
/admin, efter steg 6). Inställningarna för bilagor, skyddade grenar, sessionen och CSS sätter temat ochsubsitessjälva.- Temat: Themes → Groovy Docs → Activate. Det skriver
pages.theme: groovy-docsiuser/config/system.yaml. - Felsidor: Configuration → System → Error handler → Display errors: Simple Error. Besökare ser då inga sökvägar eller kod. Felen skrivs till loggen.
- Inloggningen: Plugins → Login → Site host: serverns adress,
utan avslutande snedstreck, till exempel
https://docs.example.com. Utan den skickas inga inloggningsmejl. Lämna Configuration → System → Advanced → Custom base URL tom. Med flera sajter tar den bort subsajternas prefix ur länkarna. Bakom en proxy som sköterhttps(Easypanel) räcker Reverse proxy setup och Site host. - tntsearch: Plugins → TNT Search → avstängt. Pluginet ska vara installerat men avstängt: temat använder bara dess bibliotek, och pluginets egen sökning visar skyddade sidor.
- E-post: Plugins → Email: Mail engine SMTP, serverns adress,
port, kryptering och inloggning, och avsändaren (From). Prova med
ett testmejl från webbroten:
php bin/plugin email test-email -t <adress>. - Språket: en svensk installation sätter Interface language till
Svenska under Alla sajter: System-Admin → Temainställningar,
fliken General → Language (efter steg 6). Mejlen har en egen
inställning: Plugins → Mail Auth → Mail language,
sv. Se Temainställningar → Gränssnittets språk.
Utan Admin2 skrivs samma värden i
user/config/system.yaml(pages.theme,errors.display: 0), iuser/config/themes/groovy-docs.yaml(ui_language: sv) och iuser/config/plugins/:login.yaml(site_host),tntsearch.yaml(enabled: false),email.yaml(from,mailer) ochmail-auth.yaml(mail_language: sv). - Temat: Themes → Groovy Docs → Activate. Det skriver
-
Flera sajter. Packa upp
groovy-multisite.zip:setup.phpläggs i webbroten, bredvidindex.php;nginx-multisite.conftas med i nginx-konfigurationensserver-block medinclude. Den ska stå efter Gravs egna spärrar (location-raderna iwebserver-configs/nginx.conf) och förelocation /. nginx använder den första regel som passar. Ändrafastcgi_passi filen till serverns PHP-FPM.
Kör
nginx -toch ladda om nginx. -
Super-admin. Det första kontot är super-admin och det enda med lösenord:
php bin/plugin login new-user -u <namn> -e <adress> -l en -P b --admin-type=api -N "<Namn>" -t AdminKommandot frågar efter lösenordet. Utan konto skickar Grav i stället den första besökaren till
/adminför att skapa det. -
Schemalagda jobb. Lägg in raden i crontab (sidan Schemalagda jobb).
-
Töm cachen:
php bin/grav cache.
Kontrollera
- Öppna sajten. Den visas med temat, med Gravs exempelsida som startsida.
- Logga in som super-admin på
/login. - Öppna hälsokontrollen (sidan Hälsokontroll). Rätta det som står som Warning.
- System-Admin → Sites → Ny sajt skapar en provsajt. Den
första editorn får ett inloggningsmejl med en länk till sajten. Följ
länken: editorn är inloggad i den nya sajten. Saknas
setup.phpeller nginx-regeln står det i Sites vad som saknas.
Ta bort provsajten i registret efteråt.
Senare
- Uppdatera temat eller ett av Groovys plugin: bygg nya paket och installera dem som i steg 3. Töm cachen.
- Grav och dess plugin uppdateras enligt sidan Uppdatering av Grav och plugins.
- Spärren mot installation i Admin är av. Slå på den när installationen ska skötas enligt uppdateringsrutinen: Admin2 på grundsajten → Plugins → Subsites → No installs or updates through Admin. Med spärren på fungerar inte Direct Install.
- MCP-servern är avstängd. Hur den slås på står i sidan AI-klient, under För den som driftar.