Gostiti Ghost® na Managed VPS: vaša publikacija na vašem strežniku

Če Ghost gostite na Managed VPS, objavljate članke, zbirate člane in pošiljate glasila z lastnega stroja, ki ga naše ekipe posodabljajo in podnevi in ponoči spremljajo. Ghost je prosta programska oprema pod licenco MIT. Ta vodnik sledi njegovi uradni dokumentaciji: Ghost-CLI ali Docker Compose, MySQL, HTTPS, e-pošta, varnostne kopije in posodobitve.

Simon Vasconcelos Lee Avtor: Objavljeno 9. novembra 2026Čas branja: 13 minut

Vsi vodniki

Na kratko

  1. Licenca MIT programa Ghost dovoljuje njegovo prosto rabo v podjetju, ob ohranitvi navedbe licence. Ime in logotip posebej urejata pravilnik o blagovni znamki družbe Ghost Foundation.
  2. Projekt priporoča Ghost-CLI na Ubuntuju, z Nginxom, Node.js 22, MySQL 8 in vsaj 1 GB pomnilnika. Njegova metoda Docker Compose, v „preview“, dodaja spletno analitiko in samostojno gostovani ActivityPub.
  3. MySQL 8 je edina zbirka, podprta v produkciji.
  4. Predvidite dve poti e-pošte: rele SMTP za transakcijska sporočila, ki je nujen, in Mailgun za glasila, edino podprto storitev množičnega pošiljanja.
  5. Varnostno kopirajte zbirko in mapo content, posodabljajte pa z ghost update ali docker compose pull: projekt posodobitve objavlja vsak teden.

Kaj počne Ghost

Ghost je profesionalna in prosta platforma za objavljanje, napisana za Node.js. Na enem mestu združuje, kar neodvisna publikacija pogosto sestavi iz več orodij.

Po dokumentaciji ima izdelek pri samostojnem gostovanju enake funkcije. Kar ga obdaja, pa je vaša skrb: pošiljanje glasil, spletna analitika, CDN in popolne varnostne kopije spletišča.

Licenca MIT in blagovna znamka

Ghost je objavljen pod licenco MIT. Dovoljuje uporabo, kopiranje, spreminjanje, združevanje, objavljanje, razpečevanje, podlicenciranje in prodajo programa, pod enim pogojem: v vsaki kopiji ostaneta navedba avtorskih pravic in besedilo licence. Ghost torej lahko poganjate v podjetju, ga prilagajate in na njem objavljate za svoje stranke, ne da bi morali kupiti licenco.

Licenca pokriva kodo. Ime in logotip pripadata družbi Ghost Foundation in spadata pod njen pravilnik o blagovni znamki: preberite ga, če okoli programa gradite ponudbo. Ghost je registrirana blagovna znamka družbe Ghost Foundation.

This publication is independent of and not affiliated with, authorized, sponsored, or approved by Ghost Foundation. V slovenščini: ta publikacija je neodvisna od družbe Ghost Foundation in ni povezana z njo, ni je pooblastila, sponzorirala ali odobrila.

Ghost-CLI ali Docker Compose: dve uradni metodi

Projekt dokumentira dve poti za produkcijo. Ghost-CLI je namestitev, ki jo uradno priporoča, Docker Compose pa je „preview“, ki jo opisuje kot povsem novo. Navaja tudi, da napreduje proti tej orodjarni Docker, ne pa k nadaljnjemu razvoju Ghost-CLI, in ponuja pomočnika za prehod z ene na drugo.

TočkaGhost-CLIDocker Compose (preview)
SistemUbuntu 22.04, 24.04 ali 26.04Strežnik Linux z Dockerjem 20.10.13 ali novejšim
PomnilnikVsaj 1 GBProjekt kot primer navaja strežnik z 2 GB in 1 procesorjem
Spletni strežnik in HTTPSNginx in potrdilo Let’s Encrypt, ki ju vzpostavi Ghost-CLICaddy, v vsebniku, ki podpira TLS
Podatkovna zbirkaMySQL 8.0 ali 8.4, nameščen na strežnikuMySQL v vsebniku
Spletna analitikaNi združljivaNa voljo, z računom Tinybird
Družabno omrežje (ActivityPub)Storitev, ki jo gosti projekt, brezplačna v okviru omejitev rabeIsta storitev privzeto ali vaša, samostojno gostovana

Pred začetkom: domena in strežnik

Domeno usmerite na strežnik pred namestitvijo: potrdilo se vzpostavi med postavitvijo. Na VPS Simafri obiskovalci prihajajo na vrata 80 in 443, pod imenom domene strežnika, z zapisi A in AAAA. Naslov spletišča se zapiše v celoti, s protokolom, na primer https://example.com: naslov IP povzroča napake.

Poleg zgoraj navedenega pomnilnika projekt ne navaja diska ne obremenitve: velikost je odvisna od vašega prometa, slik in medijev. Na Managed VPS nam opišite svojo publikacijo in priporočimo vam ustrezno velikost.

Namestitev Ghosta z Ghost-CLI na Ubuntuju

Ghost-CLI se uporablja z uporabnikom, ki ni root in katerega ime ni ghost, ker to ime trči z orodjem. Ustvarite ga iz računa root, pri čemer user zamenjate z izbranim imenom:

Terminal, kot root
adduser <user>
usermod -aG sudo <user>
su - <user>

Nginx in MySQL

Posodobite sistem, namestite Nginx (vsaj 1.9.5 za SSL) in MySQL. Vrstica ufw odpre HTTP in HTTPS, če je ta požarni zid aktiven:

Terminal
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nginx
sudo ufw allow 'Nginx Full'
sudo apt-get install mysql-server

Na novejših različicah Ubuntuja se račun root v MySQL overja prek vtiča, česar Ghost ne podpira. Dodelite mu geslo:

Terminal, nato konzola MySQL
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'caching_sha2_password' BY '<your-new-root-password>';
FLUSH PRIVILEGES;
exit

Node.js in Ghost-CLI

Ghost zahteva Node.js 22: različice 20, 21, 23 in naslednje niso podprte. Projekt zahteva, da ga namestite za ves sistem, na ta način:

Terminal
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
NODE_MAJOR=22
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt-get update
sudo apt-get install nodejs -y
sudo npm install ghost-cli@latest -g

Zagon namestitve

Ghost se namesti v lastno mapo, z natančnim lastnikom in pravicami. sitename zamenjajte z imenom po svoji izbiri:

Terminal
sudo mkdir -p /var/www/sitename
sudo chown <user>:<user> /var/www/sitename
sudo chmod 775 /var/www/sitename
cd /var/www/sitename
ghost install

Ukaz nato postavi svoja vprašanja, projekt pa priporoča, da na vsak predlagani korak odgovorite pritrdilno:

Spletišče nato odgovarja, https://example.com/ghost pa vas povabi k ustvarjanju računa lastnika. Če je namestitev prekinjena, ghost setup nadaljuje nastavitev; če ne uspe, ghost uninstall počisti bolje kot izbris mape. ghost doctor kadar koli preveri sistem.

Namestitev Ghosta z Docker Compose (preview)

Projekt to metodo predstavlja kot „preview“: po njegovem mnenju je povsem nova. Prav ta omogoča samostojno gostovanje spletne analitike in ActivityPub.

Na strežniku z nameščenim Dockerjem prenesite uradno orodjarno v /opt/ghost in kopirajte njeni dve vzorčni datoteki:

Terminal
git clone https://github.com/TryGhost/ghost-docker.git /opt/ghost && cd /opt/ghost
cp .env.example .env
cp caddy/Caddyfile.example caddy/Caddyfile

V datoteko .env vpišite te vrednosti:

V caddy/Caddyfile odkomentirajte blok, ki ustreza vašemu primeru: preusmeritev z www na golo domeno ali obratno ali ločena skrbniška domena. Nato zaženite Ghost in dokončajte postavitev na /ghost:

Terminal
docker compose pull
docker compose up -d

Spletna analitika in ActivityPub

Analitika zahteva račun Tinybird, zunanjo storitev. V /opt/ghost se prijavite, uvedite njegovo konfiguracijo in pridobite žetone, ki jih prilepite v .env, razdelek „Tinybird configuration“:

Terminal
docker compose run --rm tinybird-login
docker compose run --rm tinybird-sync
docker compose run --rm tinybird-deploy
docker compose run --rm tinybird-login get-tokens

ActivityPub deluje takoj s storitvijo, ki jo gosti projekt, brezplačno v okviru omejitev rabe, ki jih objavlja njegova dokumentacija. Za samostojno gostovanje lastne odkomentirajte ACTIVITYPUB_TARGET=activitypub:8080. Nato v .env vključite želeni profil ali profile in znova zaženite vsebnike:

.env
COMPOSE_PROFILES=analytics,activitypub
Terminal
docker compose pull
docker compose up -d

Za ActivityPub projekt zahteva, da znova ustvarite tudi Ghost in Caddy, z docker compose up -d --force-recreate ghost caddy.

Prehod z Ghost-CLI na Docker Compose

Po kloniranju in nastavitvi bash scripts/migrate.sh kopira mapo content, uvozi zbirko v vsebnik MySQL in zažene Caddy namesto Nginxa. Ponudi ustavitev Nginxa, kar spletišče postavi brez povezave: odgovorite ne, če na strežniku teče še kakšno drugo spletišče. Ne izbriše nobenih podatkov. bash recovery_instructions.sh povrne prvotno spletišče, če migracijo prekinete.

HTTPS in skrbniška domena

Skrbniški del programa Ghost mora potekati prek HTTPS, projekt pa HTTPS priporoča za vse spletišče: brez njega uporabniška imena in gesla krožijo v nezaščiteni obliki. Z Docker Compose to opravi Caddy. Z Ghost-CLI potrdilo vzpostavi namestitev, naknadno pa to stori ukaz:

Terminal, v mapi spletišča
ghost setup ssl

Za spremembo naslova spletišča, nameščenega z Ghost-CLI, ghost config url https://example.com posodobi konfiguracijo, ghost restart pa jo uveljavi.

Projekt svetuje tudi ločeno skrbniško domeno, ki zmanjša površino napada. Pot ostane /ghost/. Pri Ghost-CLI se določi v config.production.json:

config.production.json
"admin": {
  "url": "https://admin.example.com"
}

Pri Docker Compose vpišite ADMIN_DOMAIN, odkomentirajte njegov blok v Caddyfile in zaženite docker compose up -d --force-recreate ghost caddy. Tudi ta domena potrebuje svoja zapisa A in AAAA.

MySQL 8, produkcijska zbirka

MySQL 8 je edina zbirka, ki jo projekt podpira v produkciji. Ghost-CLI se namesti z MySQL 8.0 ali 8.4, datoteka Compose pa vsebuje sliko MySQL 8.0.

E-pošta in glasila

Ghost razlikuje dve pošiljanji, ki ne potekata po isti poti. To je po namestitvi najpomembnejša točka za nastavitev.

PošiljanjePrimeriKaj ga nosi
TransakcijskoVabila ekipe, pozabljena gesla, registracije in povezave za prijavo članov, koda za prijavo z nove napraveKonfiguracija mail programa Ghost, prek SMTP
GlasilaČlanki, poslani vašim članomAPI Mailgun, katerega ključi se vnesejo v nastavitvah „Email newsletter“

Rele SMTP za transakcijska sporočila

Dokumentacija to konfiguracijo uvršča med obvezne v produkciji. Ghost pošlje kodo po e-pošti tudi, ko zazna prijavo z nove naprave: ta rele nastavite, preden povabite svojo ekipo.

Na VPS Simafri pošiljanje poteka prek overjenega releja SMTP, na vratih 587: z naslovom poštnega računa, ki ga že imate, ali s Simafri Suite.

config.production.json (Ghost-CLI), nato ghost restart
"mail": {
  "transport": "SMTP",
  "from": "'Acme Support' <support@example.com>",
  "options": {
    "host": "smtp.example.com",
    "port": 587,
    "secure": false,
    "requireTLS": true,
    "auth": {
      "user": "support@example.com",
      "pass": "1234567890"
    }
  }
}
.env (Docker Compose), razdelek SMTP Email
mail__transport=SMTP
mail__options__host=smtp.example.com
mail__options__port=587
mail__options__secure=false
mail__options__requireTLS=true
mail__options__auth__user=support@example.com
mail__options__auth__pass=1234567890
mail__from="'Acme Support' <support@example.com>"
Terminal, po spremembi datoteke .env
docker compose up -d --force-recreate ghost

Mailgun za glasila

Rele SMTP ne pokriva glasil. Po dokumentaciji se množično pošiljanje ne izvaja prek SMTP, Mailgun pa je za zdaj edina storitev množičnega pošiljanja, ki jo Ghost podpira. Ustvarite svoj račun Mailgun in njegove ključe API vnesete v nastavitve programa Ghost.

Če člankov ne pošiljate po e-pošti, računa Mailgun ne potrebujete: te nastavitve prezrete. Če imate raje drugo orodje za glasila, projekt predlaga sinhronizacijo vaših članov vanj, na primer z orodjem Zapier ali njegovimi vodniki za integracijo.

Varnostno kopiranje in obnova programa Ghost

Ghost ponuja tri ravni kopij in ne vsebujejo istega. Za natančno obnovo spletišča projekt zahteva neposredno varnostno kopijo zbirke in mape content.

MetodaKaj vsebujeZa kakšno rabo
ghost backup (Ghost-CLI)Zip: vsebine v JSON, člani v CSV, teme, slike, datoteke in mediji, poti in preusmeritvePrevidnostni ukrep pred posodobitvijo
Izvoz iz skrbniškega delaZip: vsebine in nastavitve, člani, statistika člankov, teme, poti in preusmeritve, po izbiri. Brez komentarjev, zgodovine dejavnosti članov in medijevSelitev vsebine na drugo spletišče
Zbirka in mapa contentVsi podatkiObnova po nesreči ali natančna kopija

Izvoz najdete v „Settings“, „Advanced“, „Import/Export“, zavihek „Export“, gumb „All data“. Za popolno kopijo z Ghost-CLI sta račun MySQL in ime zbirke, ki ju je treba prenesti, v config.production.json:

Terminal, Ghost-CLI
mkdir -p ~/ghost-backups
mysqldump -u ghost_user -p ghost_production > ~/ghost-backups/ghost_backup.sql
cd /var/www/sitename
tar czf ~/ghost-backups/ghost_content_backup.tar.gz content/

Z Docker Compose uradna orodjarna hrani vsebino v data/ghost. Izpis povzema obliko, ki jo določa slika MySQL, geslo root pa je že v vsebniku. Hranite tudi kopijo datotek .env in Caddyfile.

Terminal, Docker Compose
cd /opt/ghost
mkdir -p ~/ghost-backups
docker compose exec -T db sh -c 'exec mysqldump -uroot -p"$MYSQL_ROOT_PASSWORD" ghost' > ~/ghost-backups/ghost_backup.sql
tar czf ~/ghost-backups/ghost_content_backup.tar.gz data/ghost

Obnova

Terminal, Ghost-CLI
cd /var/www/sitename
ghost stop
mysql -u ghost_user -p ghost_production < ~/ghost-backups/ghost_backup.sql
tar xzf ~/ghost-backups/ghost_content_backup.tar.gz
sudo chown -R ghost:ghost content
ghost restart
Terminal, Docker Compose
cd /opt/ghost
docker compose stop ghost
docker compose exec -T db sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" ghost' < ~/ghost-backups/ghost_backup.sql
tar xzf ~/ghost-backups/ghost_content_backup.tar.gz
docker compose start ghost

Te datoteke kopirajte zunaj strežnika, z rsync ali scp, in obnovo preizkusite na preizkusnem stroju. Če začenjate z izvoza s plačljivimi člani, pred uvozom članov povežite isti račun Stripe.

Posodabljanje programa Ghost

Projekt posodobitve objavlja vsak teden in opozarja, da mora javni spletni strežnik ostati posodobljen. Preberite opombe k izdaji, nato zaženite ukaz svoje metode.

Z Ghost-CLI

Terminal, v mapi spletišča
ghost check-update
ghost backup
ghost update

Z Docker Compose

Terminal
cd /opt/ghost
git pull
docker compose pull
docker compose up -d
docker image prune

Zadnja, neobvezna vrstica odstrani stare slike. GHOST_VERSION v .env pustite zakomentiran: določitev različice blokira te ukaze za posodobitev.

Utrditev in rast vaše instance

Dokumentacija navaja več nastavitev za strežnik v produkciji:

Za obremenitev projekt pred Ghost postavlja CDN in plast predpomnilnika. Pojasnjuje, da gruče in sharding nista podprta: spletišče streže ena sama instanca, promet pa vpije predpomnilnik.

Kdo kaj dela na Managed VPS

Samostojno gostovanje poleg aplikacije zahteva tudi vzdrževanje strežnika. Na Managed VPS naše ekipe prevzamejo strežnik in proaktivno spremljajo vašo instanco; Ghost ostaja vaša programska oprema, z vašimi nastavitvami in podatki.

TemaNaše ekipeVi
StrežnikPosodobitve sistema in varnosti, vključno s posegi na strežnikuTrenutek, ki ustreza vaši dejavnosti
NadzorStrežnik pod nadzorom 24 ur na dan, 7 dni v tednu, s posegom brez čakanja na vaš klicVaše vsebine, člani in naročnine
GhostProaktivno spremljanje: napake, upočasnitve in prostor na disku, z priporočenim popravkomNamestitev, posodobitve, nastavitve, rele SMTP in račun Mailgun, ki jih uvedete vi ali vaš AI pomočnik
Varnostne kopijeVsako noč, šifrirane in shranjene zunaj stroja; obnova je vključenaZahteva za obnovo, ko jo potrebujete
SelitevSelitev vašega sedanjega strežnika, brezplačnoTrenutek preklopa

Če želite, da naše ekipe posežejo v samo aplikacijo, se ta storitev zaračuna po urah ali pavšalno, z oceno stroškov, sporočeno pred posegom.

Strežnik, ki ga vzdržujemo za vaše spletišče na Ghostu

Z Managed VPS Simafri naše ekipe strežnik vaše instance Ghost sproti posodabljajo, ga podnevi in ponoči nadzirajo ter posežejo brez čakanja na vaš klic; vašo instanco tudi proaktivno spremljajo in vam priporočajo koristne popravke, ki jih uvedete vi ali vaš AI pomočnik. Varnostne kopije so vsako noč šifrirane in shranjene zunaj stroja, njihova obnova je vključena, selitev vašega sedanjega strežnika pa je brezplačna.

Odkrijte Managed VPS

Pogosta vprašanja

Ali je Ghost pri samostojnem gostovanju brezplačen?

Da. Ghost je pod licenco MIT: lahko ga uporabljate v podjetju in prilagajate, ob ohranitvi navedbe licence. Ostanejo storitve okoli njega: strežnik, rele e-pošte, Mailgun, če pošiljate glasila, Tinybird, če želite njegovo analitiko.

Kakšna konfiguracija je potrebna za gostovanje programa Ghost?

Projekt priporoča Ubuntu 22.04, 24.04 ali 26.04, Nginx, Node.js 22, MySQL 8.0 ali 8.4, systemd, vsaj 1 GB pomnilnika, domeno in uporabnika, ki ni root. Za Docker Compose kot primer navaja strežnik z 2 GB in 1 procesorjem.

Ali naj Ghost namestim z Ghost-CLI ali z Dockerjem?

Ghost-CLI je namestitev, ki jo projekt priporoča za produkcijo. Docker Compose je preview, edina, ki omogoča spletno analitiko in samostojno gostovani ActivityPub, projekt pa pravi, da napreduje proti tej orodjarni. Pomočnik omogoča prehod z Ghost-CLI na Docker Compose.

Ali Ghost deluje s SQLite, MariaDB ali PostgreSQL?

V produkciji je MySQL 8 edina podprta zbirka. Projekt priporoča ponovno namestitev na MySQL 8 iz SQLite in migracijo na MySQL 8 iz MariaDB. Njegova dokumentacija PostgreSQL ne predvideva.

Ali je glasila programa Ghost mogoče pošiljati prek SMTP?

Ne. SMTP služi transakcijskim sporočilom: vabilom, geslom, povezavam za prijavo članov. Glasila zahtevajo API Mailgun, edino podprto storitev množičnega pošiljanja. Brez pošiljanja člankov po e-pošti račun Mailgun ni potreben.

Kako varnostno kopirati samostojno gostovano spletišče Ghost?

Za popolno obnovo varnostno kopirajte zbirko MySQL z mysqldump in mapo content s tar. Ukaz ghost backup pred posodobitvijo ustvari zip. Izvoz iz skrbniškega dela izpusti komentarje, zgodovino dejavnosti članov in medije.

Kako posodobiti Ghost?

Z Ghost-CLI v mapi spletišča zaženite ghost backup, nato ghost update, ob težavi pa ghost update --rollback. Z Docker Compose v /opt/ghost zaženite git pull, docker compose pull in docker compose up -d.

Ali Managed VPS pokriva Ghost?

Managed VPS pokriva strežnik: sistem, varnost, nadzor in varnostne kopije. Naše ekipe proaktivno spremljajo tudi vašo instanco in vam priporočajo koristne popravke, ki jih uvedete vi. Poseg v aplikacijo se zaračuna po urah ali pavšalno.

Stopite v stik z nami