Yayıncılık · KYC yok
Ghost'i Offshore VPS Üzerinde Barındırın
Ghost, birkaç dakika içinde bir offshore VPS üzerinde kendi sunucunuzda barındırabileceğiniz hızlı, modern bir yayıncılık platformudur; yazılarınızı, abonelerinizi ve ödemelerinizi üçüncü taraf bulut hizmetlerinin dışında tutmanızı sağlar.
Bu nedir
Ghost, bloglar, e-posta bültenleri ve üyelik siteleri için tasarlanmış, açık kaynaklı bir Node.js CMS'idir; yerleşik e-posta abonelikleri, ücretli üyelik katmanları ve sade bir Markdown editörü sunar. MySQL 8 destekli resmi bir Docker imajı olarak dağıtılır ve sitenizi bir ters proxy arkasında kendi portu üzerinden sunar.
Neden offshore barındırma
Ghost'u KYC gerektirmeyen, kripto ile ödenen bir VPS üzerinde çalıştırmak, yayınınızın kimlikle ilişkilendirilebilecek, platformdan kaldırılabilecek veya talep üzerine teslim edilebilecek bir hesaba bağlı olmadığı anlamına gelir. Offshore gizlilik katmanındaki konumlar ve sınırsız bant genişliğiyle; içeriğiniz, üye listeniz ve Stripe ödemeleriniz üzerinde, bir barındırma sağlayıcısının sözlerinizi kısıtlamasına izin vermeden tam kontrol sahibi olursunuz.
Dağıtım
Çalışan bir referans kurulum
Bunu yeni bir ChainVPS örneğine kopyalayın. Yer tutucuları değiştirin, ardından çalıştırın.
services:
ghost:
image: ghost:5-alpine
restart: always
ports:
# Bind to localhost only; terminate TLS in a reverse proxy (nginx/Caddy)
- "127.0.0.1:2368:2368"
environment:
url: https://blog.example.com
NODE_ENV: production
database__client: mysql
database__connection__host: db
database__connection__port: 3306
database__connection__user: ghost
database__connection__password: CHANGE_ME_DB_PASSWORD
database__connection__database: ghostdb
# Optional outbound SMTP for member/newsletter email:
# mail__transport: SMTP
# mail__options__host: smtp.example.com
# mail__options__port: 587
# mail__options__auth__user: [email protected]
# mail__options__auth__pass: CHANGE_ME_SMTP
volumes:
- ghost-content:/var/lib/ghost/content
depends_on:
- db
db:
image: mysql:8.0
restart: always
command: --default-authentication-plugin=caching_sha2_password
environment:
MYSQL_ROOT_PASSWORD: CHANGE_ME_ROOT_PASSWORD
MYSQL_DATABASE: ghostdb
MYSQL_USER: ghost
MYSQL_PASSWORD: CHANGE_ME_DB_PASSWORD
volumes:
- ghost-db:/var/lib/mysql
volumes:
ghost-content:
ghost-db:
# Deploy:
# apt-get update && apt-get install -y docker.io docker-compose-v2
# docker compose up -d
# Then point a reverse proxy (Caddy/nginx) at 127.0.0.1:2368 to add HTTPS,
# and set `url:` to your real https:// domain before first boot.
Güvenlik duvarı
Açılması gereken portlar
| Port | Protokol | Amaç |
|---|---|---|
| 2368 | TCP | Ghost HTTP uygulama portu - 127.0.0.1'e bağlı tutun ve ters proxy üzerinden yönlendirin, asla herkese açık hale getirmeyin |
| 443 | TCP | Ters proxy'niz (Caddy/nginx) üzerinden herkese açık HTTPS |
| 80 | TCP | ACME/Let's Encrypt sertifika alımı ve 443'e yönlendirme için HTTP |
| 3306 | TCP | MySQL - yalnızca dahili Docker ağı için, asla ana makineye açmayın |
Doğru boyutlandırma
Hangi plana ihtiyacınız var
VPS Nano/Small (1-2 vCPU, 2 GB RAM)
Kişisel blog veya küçük bir bülten için. Ghost + MySQL rahatça sığar; güvenlik önlemi olarak 1 GB swap ekleyin.
VPS Pro (2-4 vCPU, 4-8 GB RAM)
Ücretli üyelikleri, görsel ağırlıklı yazıları ve düzenli e-posta gönderimleri olan aktif bir yayın için. MySQL önbelleği ve trafik ani yükselmeleri için yeterli boşluk sağlar.
Dedicated (özel çekirdekler, 16 GB+ RAM, NVMe)
Yüksek trafikli site veya büyük medya kütüphanelerine sahip çoklu blog kurulumları için; tutarlı gecikme süresi elde etmek üzere MySQL'i izole edin ve medyayı önbellek üzerinden sunun.
En iyi konumlar: Kaldırma baskısına rağmen çevrimiçi kalması gereken bir yayın için ChainVPS'in gizlilik katmanındaki konumlarından birini seçin: İzlanda (IS), İsviçre (CH), Romanya (RO), Moldova (MD), Hollanda (NL) veya Lüksemburg (LU). CH ve IS güçlü basın/ifade özgürlüğü korumalarına ve gizlilik yasalarına sahiptir; NL ve LU ise görsel ve bülten ağırlıklı siteler için sınırsız bant genişliğiyle Avrupalı okuyuculara düşük gecikmeli erişim sağlar.
Sıkı güvenlik altına alın
Sıkılaştırma kontrol listesi
- 2368 veya 3306 portlarını asla 0.0.0.0'a açmayın. Ghost'u 127.0.0.1'e bağlı tutun ve MySQL'i yalnızca dahili Docker ağında bırakın; siteyi yalnızca bir TLS ters proxy üzerinden yayınlayın (Caddy, Let's Encrypt sertifikalarını otomatik olarak alır, ya da nginx + certbot kullanın).
- İlk açılıştan önce `url` ortam değişkenini gerçek https:// alan adınıza ayarlayın. Ghost, bu URL'yi kaynak bağlantılarına gömer ve daha sonra değiştirmek bir veritabanı güncellemesi ve önbellek temizliği gerektirir.
- Yönetim panelini sıkılaştırın: ilk kurulumda uzun ve benzersiz bir parola zorunlu kılın, sabit konumlardan yayın yapıyorsanız /ghost/ adresini proxy üzerinde IP izin listesi veya basic-auth ile kısıtlayın. Ghost'un dahili personel 2FA özelliğini etkinleştirin.
- Her iki birimi de düzenli olarak yedekleyin: MySQL'i dökümleyin (`docker compose exec db mysqldump -u ghost -p ghostdb`) ve görselleri ile temaları barındıran içerik birimini (`/var/lib/ghost/content`) arşivleyin. Şifrelenmiş yedekleri ChainVPS depolamasına veya sunucu dışına gönderin.
- İmaj etiketlerini sabitleyin (ghost:5-alpine, mysql:8.0) ve güncellemeleri bilinçli olarak `docker compose pull && docker compose up -d` ile yapın; büyük Ghost sürüm geçişlerinden önce tema/entegrasyon uyumluluğunu test edin ve plana dahil olan DDoS korumasını uç noktada etkin tutun.
Bunu şurada devreye alın
Doğru ChainVPS ürünü
Sorular
Hosting Ghost — SSS
Ghost için MySQL gerekli mi, yoksa SQLite kullanabilir miyim?
Ghost 5, canlı ortam için resmi olarak MySQL 8 gerektirir. Yukarıdaki compose dosyası MySQL 8'i otomatik olarak devreye alır. SQLite yalnızca yerel geliştirme için desteklenir ve canlı bir offshore dağıtım için önerilmez.
HTTPS'i nasıl eklerim?
Ghost'un kendisi 2368 portunda düz HTTP sunar. Önüne bir ters proxy koyun - Caddy en basit seçenektir (Let's Encrypt sertifikalarını otomatik olarak alır ve yeniler) ya da certbot ile nginx kullanın. Bunu 127.0.0.1:2368 adresine yönlendirin ve Ghost'un `url` değerini https:// alan adınız olarak ayarlayın.
Üçüncü taraf bir kimlik izi bırakmadan bülten gönderebilir miyim?
Ghost, üye e-postalarını herhangi bir SMTP sağlayıcısı veya Mailgun üzerinden gönderir. Gizlilik odaklı bir kurulumda, kripto kabul eden veya minimal kayıt gerektiren bir SMTP aktarımı kullanın ve bunu mail__ ortam değişkenleri üzerinden yapılandırın. İşlemsel e-postalar için yine de SPF/DKIM ile teslim edilebilir bir gönderim alan adı gereklidir.
Ne kadar disk alanına ihtiyacım olacak?
Ghost'un çekirdeği ve MySQL küçüktür (birkaç yüz MB). Asıl büyüme, içerik biriminde yüklenen görsel ve videolardan gelir. Hafif bir blog 20-40 GB ile rahatça çalışır; görsel ağırlıklı veya üyelik siteleri NVMe depolama ve içerik biriminin düzenli yedeklerini planlamalıdır.
Sitem trafik ani yükselmelerine veya DDoS saldırılarına dayanabilir mi?
ChainVPS planları ağ ucunda DDoS koruması içerir ve bant genişliği sınırsızdır, bu yüzden viral olan bir yazı ekstra ücrete yol açmaz. Ham istek ani yükselmeleri için offshore sayfa görüntülemelerinde proxy düzeyinde önbelleklemeyi etkinleştirin ve sürekli olarak yüksek eşzamanlılık görüyorsanız bir VPS Pro veya özel sunucu planına geçin.
Kendi barındırmak için daha fazlası
Diğer tek tıkla kurulan yazılım yığınları
Hemen kur Ghost
önümüzdeki 60 saniye içinde.
Sınırsız bant genişliği · DDoS dahil · 21 kripto para birimi · KYC yok.