Majutage Ghost® Managed VPS-is: teie väljaanne teie enda serveris

Ghosti majutamine Managed VPS-is tähendab oma artiklite avaldamist, liikmete koondamist ja uudiskirjade saatmist masinast, mis on teie enda ning mida meie meeskonnad hoiavad ajakohasena ja jälgivad päeval ja öösel. Ghost on MIT-litsentsiga vabatarkvara. See juhend järgib selle ametlikku dokumentatsiooni: Ghost-CLI või Docker Compose, MySQL, HTTPS, e-kirjad, varukoopiad ja uuendused.

Simon Vasconcelos Lee Autor: Avaldatud 9. novembril 2026Lugemisaeg: 13 minutit

Kõik juhendid

Lühidalt

  1. Ghosti MIT-litsents lubab seda ettevõttes vabalt kasutada, kui säilitate litsentsiteate. Nimi ja logo kuuluvad eraldi Ghost Foundationi kaubamärgipoliitika alla.
  2. Projekt soovitab Ghost-CLI-d Ubuntus, koos Nginxi, Node.js 22, MySQL 8 ja vähemalt 1 GB mäluga. Selle Docker Compose’i meetod, «preview», lisab veebianalüütika ja ise majutatava ActivityPubi.
  3. MySQL 8 on ainus tootmises toetatud andmebaas.
  4. Ette tuleb näha kaks e-kirjade teed: SMTP-releesõlm tehingupõhiste e-kirjade jaoks, hädavajalik, ja Mailgun uudiskirjade jaoks, ainus toetatud massilise saatmise teenus.
  5. Varundage andmebaas ja kaust content, seejärel uuendage käsuga ghost update või docker compose pull: projekt avaldab uuendusi igal nädalal.

Mida Ghost teeb

Ghost on professionaalne ja vaba avaldamisplatvorm, mis on kirjutatud Node.js-ile. See koondab ühte kohta selle, mida sõltumatu väljaanne sageli mitmest tööriistast kokku paneb.

Dokumentatsiooni järgi on tootel ise majutamisel samad funktsioonid. Selle ümber olev jääb teie hooleks: uudiskirjade saatmine, veebianalüütika, CDN ja saidi täielikud varukoopiad.

MIT-litsents ja kaubamärk

Ghost avaldatakse MIT-litsentsi all. See lubab tarkvara kasutada, kopeerida, muuta, ühendada, avaldada, levitada, alamlitsentsida ja müüa ühe tingimusega: säilitada igas koopias autoriõiguse teade ja litsentsi tekst. Seega võite Ghosti ettevõttes käitada, seda kohandada ja sellega oma klientide jaoks avaldada, ilma et peaksite litsentsi ostma.

Litsents katab koodi. Nimi ja logo kuuluvad Ghost Foundationile ja alluvad selle kaubamärgipoliitikale: lugege seda, kui ehitate tarkvara ümber pakkumise. Ghost on Ghost Foundationi registreeritud kaubamärk.

This publication is independent of and not affiliated with, authorized, sponsored, or approved by Ghost Foundation. Eesti keeles: see väljaanne on Ghost Foundationist sõltumatu ning ei ole temaga seotud, tema poolt volitatud, toetatud ega heaks kiidetud.

Ghost-CLI või Docker Compose: kaks ametlikku meetodit

Projekt dokumenteerib tootmiseks kaks teed. Ghost-CLI on paigaldus, mida see ametlikult soovitab, ja Docker Compose on «preview», mida see nimetab täiesti uueks. See märgib ka, et liigub selle Dockeri tööriistastiku poole, mitte ei arenda Ghost-CLI-d edasi, ning pakub abilist ühelt teisele üleminekuks.

PunktGhost-CLIDocker Compose (preview)
SüsteemUbuntu 22.04, 24.04 või 26.04Linuxi server, kus on Docker 20.10.13 või uuem
MäluVähemalt 1 GBProjekt toob näitena 2 GB ja 1 protsessoriga serveri
Veebiserver ja HTTPSNginx ja Let’s Encrypti sertifikaat, mille paigaldab Ghost-CLICaddy konteineris, mis haldab TLS-i
AndmebaasMySQL 8.0 või 8.4, paigaldatud serverisseMySQL konteineris
VeebianalüütikaEi ühilduSaadaval, Tinybirdi kontoga
Sotsiaalvõrk (ActivityPub)Projekti majutatud teenus, kasutuspiirides tasutaVaikimisi sama teenus või teie enda, ise majutatud

Enne alustamist: domeen ja server

Suunake domeen serverile enne paigaldust: sertifikaat paigaldatakse seadistamise ajal. Simafri VPS-is jõuavad külastajad portidele 80 ja 443, serveri domeeninime all, A- ja AAAA-kirjetega. Saidi aadress kirjutatakse täielikult, koos protokolliga, näiteks https://example.com: IP-aadress põhjustab tõrkeid.

Lisaks ülalnimetatud mälule ei too projekt välja ei ketta ega koormuse mahtu: suurus sõltub teie liiklusest, piltidest ja meediast. Managed VPS-is kirjeldage meile oma väljaannet ja soovitame sobiva suuruse.

Ghosti paigaldamine Ghost-CLI-ga Ubuntus

Ghost-CLI-d kasutatakse kasutajaga, kes ei ole root ja kelle nimi ei ole ghost, sest see nimi satub tööriistaga vastuollu. Looge see root-kontost, asendades user valitud nimega:

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

Nginx ja MySQL

Uuendage süsteem, paigaldage Nginx (SSL-i jaoks vähemalt 1.9.5) ja MySQL. Rida ufw avab HTTP ja HTTPS, kui see tulemüür on aktiivne:

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

Ubuntu uuemates versioonides autentib MySQL-i root-konto sokli kaudu, mida Ghost ei toeta. Andke sellele parool:

Terminal, seejärel MySQL-i konsool
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'caching_sha2_password' BY '<your-new-root-password>';
FLUSH PRIVILEGES;
exit

Node.js ja Ghost-CLI

Ghost nõuab Node.js 22: versioone 20, 21, 23 ja järgmisi ei toetata. Projekt nõuab selle paigaldamist kogu süsteemile, nii:

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

Paigalduse käivitamine

Ghost paigaldatakse oma kausta, kindla omaniku ja õigustega. Asendage sitename enda valitud nimega:

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

Käsk esitab seejärel küsimused ja projekt soovitab igal pakutud sammul vastata jah:

Sait vastab nüüd ning https://example.com/ghost kutsub teid looma omaniku kontot. Kui paigaldus katkeb, jätkab ghost setup seadistamist; kui see ebaõnnestub, puhastab ghost uninstall paremini kui kausta kustutamine. ghost doctor kontrollib süsteemi igal ajal.

Ghosti paigaldamine Docker Compose’iga (preview)

Projekt esitleb seda meetodit kui «preview»: nende silmis on see täiesti uus. Just see võimaldab ise majutada veebianalüütikat ja ActivityPubi.

Serveris, kuhu Docker on paigaldatud, tõmmake ametlik tööriistastik kausta /opt/ghost ja kopeerige selle kaks näidisfaili:

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

Sisestage failis .env need väärtused:

Tühistage failis caddy/Caddyfile kommentaar plokilt, mis teie juhtumile vastab: www suunamine paljale domeenile või vastupidi või eraldi haldusdomeen. Käivitage seejärel Ghost ja lõpetage seadistamine aadressil /ghost:

Terminal
docker compose pull
docker compose up -d

Veebianalüütika ja ActivityPub

Analüütika nõuab Tinybirdi kontot, välist teenust. Logige kaustast /opt/ghost sisse, juurutage selle konfiguratsioon ja hankige märgid, mis tuleb kleepida faili .env, jaotisse «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 töötab kohe projekti majutatud teenusega, mis on tasuta kasutuspiirides, mille selle dokumentatsioon avaldab. Enda teenuse ise majutamiseks tühistage kommentaar reale ACTIVITYPUB_TARGET=activitypub:8080. Lubage seejärel failis .env soovitud profiil või profiilid ja käivitage konteinerid uuesti:

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

ActivityPubi jaoks palub projekt luua uuesti ka Ghosti ja Caddy, käsuga docker compose up -d --force-recreate ghost caddy.

Üleminek Ghost-CLI-lt Docker Compose’ile

Pärast kloonimist ja seadistamist kopeerib bash scripts/migrate.sh kausta content, impordib andmebaasi MySQL-i konteinerisse ja käivitab Caddy Nginxi asemel. See pakub Nginxi peatamist, mis viib saidi võrguühenduseta: vastake ei, kui serveris töötavad teised saidid. See ei kustuta ühtegi andmeid. bash recovery_instructions.sh taastab algse saidi, kui katkestate migratsiooni.

HTTPS ja haldusdomeen

Ghosti haldus peab käima HTTPS-i kaudu ja projekt soovitab HTTPS-i kogu saidile: ilma selleta liiguvad kasutajanimed ja paroolid selgelt. Docker Compose’iga hoolitseb selle eest Caddy. Ghost-CLI-ga paigaldab sertifikaadi paigaldus ja käsk teeb seda ka hiljem:

Terminal, saidi kaustas
ghost setup ssl

Ghost-CLI-ga paigaldatud saidi aadressi muutmiseks värskendab ghost config url https://example.com konfiguratsiooni ja ghost restart rakendab selle.

Projekt soovitab ka eraldi haldusdomeeni, mis vähendab ründepinda. Tee jääb /ghost/. Ghost-CLI poolel deklareeritakse see failis config.production.json:

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

Docker Compose’i poolel sisestage ADMIN_DOMAIN, tühistage selle ploki kommentaar Caddyfile’is ja käivitage docker compose up -d --force-recreate ghost caddy. Ka see domeen vajab oma A- ja AAAA-kirjeid.

MySQL 8, tootmise andmebaas

MySQL 8 on ainus andmebaas, mida projekt tootmises toetab. Ghost-CLI paigaldatakse MySQL 8.0 või 8.4-ga ja Compose’i fail annab MySQL 8.0 tõmmise.

E-kirjad ja uudiskirjad

Ghost eristab kahte saatmist, mis ei lähe sama teed. See on kõige olulisem punkt, mida pärast paigaldust seadistada.

SaatmineNäitedMis seda kannab
TehingupõhineMeeskonna kutsed, unustatud paroolid, liikmete registreerimised ja sisselogimislingid, sisselogimiskood uuelt seadmeltGhosti seadistus mail, SMTP-s
UudiskirjadTeie liikmetele saadetud artiklidMailguni API, mille võtmed sisestatakse sätetes «Email newsletter»

SMTP-releesõlm tehingupõhiste e-kirjade jaoks

Dokumentatsioon liigitab selle seadistuse tootmises nõutavaks. Ghost saadab e-postiga ka koodi, kui tuvastab sisselogimise uuelt seadmelt: seadke see releesõlm enne meeskonna kutsumist.

Simafri VPS-is läheb saatmine läbi autenditud SMTP-releesõlme pordis 587: selleks sobib teil juba olemasoleva e-postikonto aadress või Simafri Suite.

config.production.json (Ghost-CLI), seejärel 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), jaotis 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, pärast faili .env muutmist
docker compose up -d --force-recreate ghost

Mailgun uudiskirjade jaoks

SMTP-releesõlm uudiskirju ei kata. Dokumentatsiooni järgi ei toimu massiline saatmine SMTP-ga ja Mailgun on praegu ainus massilise saatmise teenus, mida Ghost toetab. Loote oma Mailguni konto ja sisestate selle API-võtmed Ghosti sätetes.

Kui te oma artikleid e-postiga ei saada, ei vaja te Mailguni kontot: need sätted jäetakse arvestamata. Kui eelistate mõnda teist uudiskirjatööriista, pakub projekt sünkroonida teie liikmed sellesse, näiteks Zapieriga või selle integratsioonijuhenditega.

Ghosti varundamine ja taastamine

Ghost pakub kolme koopiataset ja need ei sisalda sama. Saidi identse taastamise jaoks nõuab projekt andmebaasi ja kausta content otsest varundamist.

MeetodMida see sisaldabMilleks
ghost backup (Ghost-CLI)Zip: sisu JSON-is, liikmed CSV-s, teemad, pildid, failid ja meedia, marsruudid ja ümbersuunamisedEttevaatusabinõu enne uuendust
Eksport haldusesZip: sisu ja sätted, liikmed, artiklite statistika, teemad, marsruudid ja ümbersuunamised, valikuliselt. Ei kommentaare, ei liikmete tegevuslugu, ei meediatSisu viimine teisele saidile
Andmebaas ja kaust contentKõik andmedAvariijärgne taastamine või täpne koopia

Eksport asub jaotises «Settings», «Advanced», «Import/Export», vahekaart «Export», nupp «All data». Täieliku koopia jaoks Ghost-CLI-ga on MySQL-i konto ja andmebaasi nimi, mida sisestada, failis 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/

Docker Compose’iga hoiab ametlik tööriistastik sisu kaustas data/ghost. Andmebaasi väljavõte järgib MySQL-i tõmmise antud vormi ja root-parool on konteineris juba olemas. Hoidke koopiat ka failist .env ja Caddyfile’ist.

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

Taastamine

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

Kopeerige need failid serverist välja, käsuga rsync või scp, ja tehke taastamise proov testmasinas. Kui alustate uuesti ekspordist, kus on tasulised liikmed, ühendage sama Stripe’i konto enne oma liikmete importimist.

Ghosti uuendamine

Projekt avaldab uuendusi igal nädalal ja tuletab meelde, et avalik veebiserver peab jääma ajakohaseks. Lugege väljalaskemärkmeid ja käivitage seejärel oma meetodi käsk.

Ghost-CLI-ga

Terminal, saidi kaustas
ghost check-update
ghost backup
ghost update

Docker Compose’iga

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

Viimane rida, vabatahtlik, eemaldab vanad tõmmised. Jätke GHOST_VERSION failis .env kommentaariks: versiooni fikseerimine blokeerib need uuendamiskäsud.

Instantsi tugevdamine ja kasvatamine

Dokumentatsioon annab tootmisserveri jaoks mitu sätet:

Koormuse jaoks paneb projekt Ghosti ette CDN-i ja vahemälukihi. See täpsustab, et klasterdamist ja sharding’ut ei toetata: saiti teenindab üks instants ja vahemälu neelab liikluse.

Kes mida teeb Managed VPS-is

Ise majutamine nõuab lisaks rakendusele ka serveri hoidmist. Managed VPS-is võtavad meie meeskonnad serveri enda hoole alla ja jälgivad teie instantsi proaktiivselt; Ghost jääb teie tarkvaraks oma sätete ja andmetega.

TeemaMeie meeskonnadTeie
ServerSüsteemi- ja turvauuendused, sekkumised serverisse kaasa arvatudHetk, mis sobib teie tegevusele
SeireServerit jälgitakse ööpäevaringselt, sekkumisega ilma teie kõnet ootamataTeie sisu, liikmed ja tellimused
GhostProaktiivne jälgimine: vead, aeglus ja kettaruum avastatakse, parandus soovitatakseSelle paigaldus, uuendused, sätted, SMTP-releesõlm ja Mailguni konto, mida rakendate teie või teie tehisintellekti assistent
VarukoopiadIgal ööl, krüpteeritult ja masinast väljaspool hoituna; taastamine sisaldubTaastamistaotlus, kui seda vajate
ÜleviimineTeie praeguse serveri üleviimine, tasutaÜmberlülitamise hetk

Kui eelistate, et meie meeskonnad sekkuksid rakendusse endasse, arveldatakse see teenus tunni- või kindlahinnaga, hinnapakkumine edastatakse enne sekkumist.

Teie Ghosti saidi eest hoitud server

Simafri Managed VPS-iga hoiavad meie meeskonnad teie Ghosti instantsi serveri ajakohasena, jälgivad seda päeval ja öösel ning sekkuvad ilma teie kõnet ootamata; nad jälgivad ka teie instantsi proaktiivselt ja soovitavad teile kasulikud parandused, mille rakendate ise või oma tehisintellekti assistendiga. Varukoopiad krüpteeritakse igal ööl ja hoitakse väljaspool masinat, nende taastamine sisaldub hinnas ning teie praeguse serveri üleviimine on tasuta.

Vaadake Managed VPS

Korduma kippuvad küsimused

Kas Ghost on ise majutamisel tasuta?

Jah. Ghost on MIT-litsentsiga: võite seda ettevõttes kasutada ja kohandada, kui säilitate litsentsiteate. Jäävad selle ümber olevad teenused: server, e-kirjade releesõlm, Mailgun, kui saadate uudiskirju, Tinybird, kui soovite selle analüütikat.

Mis seadistust on Ghosti majutamiseks vaja?

Projekt soovitab Ubuntu 22.04, 24.04 või 26.04, Nginxi, Node.js 22, MySQL 8.0 või 8.4, systemd-d, vähemalt 1 GB mälu, domeeni ja kasutajat, kes ei ole root. Docker Compose’i jaoks toob see näitena 2 GB ja 1 protsessoriga serveri.

Kas Ghost tuleb paigaldada Ghost-CLI-ga või Dockeriga?

Ghost-CLI on paigaldus, mida projekt tootmiseks soovitab. Docker Compose on preview, ainus, mis lubab veebianalüütikat ja ise majutatavat ActivityPubi, ning projekt ütleb, et liigub selle tööriistastiku poole. Abiline võimaldab minna Ghost-CLI-lt üle Docker Compose’ile.

Kas Ghost töötab SQLite’i, MariaDB või PostgreSQL-iga?

Tootmises on MySQL 8 ainus toetatud andmebaas. Projekt soovitab SQLite’ilt uuesti paigaldust MySQL 8-le ja MariaDB-lt üleminekut MySQL 8-le. Selle dokumentatsioon PostgreSQL-i ette ei näe.

Kas Ghosti uudiskirju saab saata SMTP-ga?

Ei. SMTP on mõeldud tehingupõhistele e-kirjadele: kutsed, paroolid, liikmete sisselogimislingid. Uudiskirjad nõuavad Mailguni API-d, ainsat toetatud massilise saatmise teenust. Kui artikleid e-postiga ei saadeta, pole Mailguni kontot vaja.

Kuidas varundada ise majutatud Ghosti saiti?

Täieliku taastamise jaoks varundage MySQL-i andmebaas käsuga mysqldump ja kaust content käsuga tar. Käsk ghost backup loob enne uuendust zipi. Halduse eksport jätab välja kommentaarid, liikmete tegevusloo ja meedia.

Kuidas Ghosti uuendada?

Ghost-CLI-ga käivitage saidi kaustas ghost backup ja seejärel ghost update ning probleemi korral ghost update --rollback. Docker Compose’iga käivitage kaustas /opt/ghost git pull, docker compose pull ja docker compose up -d.

Kas Managed VPS katab Ghosti?

Managed VPS katab serveri: süsteem, turvalisus, seire ja varukoopiad. Meie meeskonnad jälgivad ka teie instantsi proaktiivselt ja soovitavad teile kasulikud parandused, mille rakendate teie. Sekkumine rakendusse arveldatakse tunni- või kindlahinnaga.

Võtke meiega ühendust