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.
Autor: Simon Vasconcelos Lee
Avaldatud 9. novembril 2026Lugemisaeg: 13 minutit
content, seejärel uuendage käsuga ghost update või docker compose pull: projekt avaldab uuendusi igal nädalal.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.
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.
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.
| Punkt | Ghost-CLI | Docker Compose (preview) |
|---|---|---|
| Süsteem | Ubuntu 22.04, 24.04 või 26.04 | Linuxi server, kus on Docker 20.10.13 või uuem |
| Mälu | Vähemalt 1 GB | Projekt toob näitena 2 GB ja 1 protsessoriga serveri |
| Veebiserver ja HTTPS | Nginx ja Let’s Encrypti sertifikaat, mille paigaldab Ghost-CLI | Caddy konteineris, mis haldab TLS-i |
| Andmebaas | MySQL 8.0 või 8.4, paigaldatud serverisse | MySQL konteineris |
| Veebianalüütika | Ei ühildu | Saadaval, Tinybirdi kontoga |
| Sotsiaalvõrk (ActivityPub) | Projekti majutatud teenus, kasutuspiirides tasuta | Vaikimisi sama teenus või teie enda, ise majutatud |
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.
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:
adduser <user>
usermod -aG sudo <user>
su - <user>
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:
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:
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'caching_sha2_password' BY '<your-new-root-password>';
FLUSH PRIVILEGES;
exit
Ghost nõuab Node.js 22: versioone 20, 21, 23 ja järgmisi ei toetata. Projekt nõuab selle paigaldamist kogu süsteemile, nii:
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
Ghost paigaldatakse oma kausta, kindla omaniku ja õigustega. Asendage sitename enda valitud nimega:
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:
https://.localhost hosti jaoks, root ja eespool seatud parool, seejärel andmebaasi nimi, mille Ghost-CLI loob.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.
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:
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:
DOMAIN: saidi domeen, näiteks example.com.ADMIN_DOMAIN: eraldi domeen halduse jaoks, kui soovite.DATABASE_ROOT_PASSWORD ja DATABASE_PASSWORD: kaks parooli, mis on loodud käsuga openssl rand -hex 32. Need seatakse üks kord ja lõplikult: pärast andmebaasi lähtestamist rikub nende muutmine ühenduse.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:
docker compose pull
docker compose up -d
HTTP_PORT ja HTTPS_PORT, kui Ghost läheb mõne teise pöördproksi taha. MySQL jääb konteinerite sisevõrku.data/ghost ja andmebaas kaustas data/mysql, kaks asukohta, mida saab seada failis .env.docker compose up -f compose.yml -f compose.ipv6.yml.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»:
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:
COMPOSE_PROFILES=analytics,activitypub
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.
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.
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:
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:
"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 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.
ghost config database.client saidi kaustas näitab kasutatavat andmebaasi.Ghost eristab kahte saatmist, mis ei lähe sama teed. See on kõige olulisem punkt, mida pärast paigaldust seadistada.
| Saatmine | Näited | Mis seda kannab |
|---|---|---|
| Tehingupõhine | Meeskonna kutsed, unustatud paroolid, liikmete registreerimised ja sisselogimislingid, sisselogimiskood uuelt seadmelt | Ghosti seadistus mail, SMTP-s |
| Uudiskirjad | Teie liikmetele saadetud artiklid | Mailguni API, mille võtmed sisestatakse sätetes «Email newsletter» |
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.
"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"
}
}
}
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>"
docker compose up -d --force-recreate ghost
secure ja requireTLS: Ghost saadab Nodemaileriga, mille dokumentatsioon nõuab pordis 587 secure väärtust false, ühendus läheb seejärel STARTTLS-i. requireTLS keeldub saatmast, kui see üleminek ebaõnnestub. Hoidla näitefail osutab pordile 465 ja secure=true: asendage need kaks rida.from kannab päris ja loetavat aadressi, mis projekti järgi parandab kättetoimetatavust, ning saatmisdomeeni SPF-, DKIM- ja DMARC-kirjed täiendavad seadistust.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.
Ghost pakub kolme koopiataset ja need ei sisalda sama. Saidi identse taastamise jaoks nõuab projekt andmebaasi ja kausta content otsest varundamist.
| Meetod | Mida see sisaldab | Milleks |
|---|---|---|
ghost backup (Ghost-CLI) | Zip: sisu JSON-is, liikmed CSV-s, teemad, pildid, failid ja meedia, marsruudid ja ümbersuunamised | Ettevaatusabinõu enne uuendust |
| Eksport halduses | Zip: sisu ja sätted, liikmed, artiklite statistika, teemad, marsruudid ja ümbersuunamised, valikuliselt. Ei kommentaare, ei liikmete tegevuslugu, ei meediat | Sisu viimine teisele saidile |
Andmebaas ja kaust content | Kõik andmed | Avariijä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:
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.
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
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
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.
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 check-update
ghost backup
ghost update
ghost update --rollback naaseb eelmisele versioonile, kui uuendus läheb halvasti.content jääb uuenduste ajal paigale.ghost update [version] --force oma praeguse versiooniga, sest selle binaarsõltuvused on kompileeritud kindla Node.js-i versiooni jaoks.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.
Dokumentatsioon annab tootmisserveri jaoks mitu sätet:
mysql_secure_installation pärast edukat Ghost-CLI paigaldust.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.
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.
| Teema | Meie meeskonnad | Teie |
|---|---|---|
| Server | Süsteemi- ja turvauuendused, sekkumised serverisse kaasa arvatud | Hetk, mis sobib teie tegevusele |
| Seire | Serverit jälgitakse ööpäevaringselt, sekkumisega ilma teie kõnet ootamata | Teie sisu, liikmed ja tellimused |
| Ghost | Proaktiivne jälgimine: vead, aeglus ja kettaruum avastatakse, parandus soovitatakse | Selle paigaldus, uuendused, sätted, SMTP-releesõlm ja Mailguni konto, mida rakendate teie või teie tehisintellekti assistent |
| Varukoopiad | Igal ööl, krüpteeritult ja masinast väljaspool hoituna; taastamine sisaldub | Taastamistaotlus, kui seda vajate |
| Üleviimine | Teie 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Simafri
Räägime teie kavatsusest
Öelge meile paari sõnaga, mida vajate: vastame teile kiiresti.
Aitäh! Teie päring on saadetud. Võtame teiega peagi ühendust.
Eelistate e-posti? Kirjutage meile aadressil support@simafri.com.