Ghost Blog Kurulumu

Ghost blog nedir? Ubuntu sunucuda Ghost blog kurulumu nasıl yapılır?

Muhammed Ekici
Muhammed Ekici
Ghost Blog Kurulumu
İçindekiler
İçindekiler

Ghost, JavaScript ile yazılan NodeJS tabanlı, veri tabanı olarak MySQL kullanan açık kaynak kodlu yeni nesil bir blog uygulamasıdır. Ghost'un basit ancak gelişmiş editörü sayesinde blog yazabilirsin.

Ghost blog paylaşımlı hostinglerde çalışır mı?

Ghost blog yazılımı maalesef paylaşımlı hostinglerde çalışmıyor. Sadece Ghost için özel hazırlanmış hostinglerde çalışabilir. Türkiye'de bildiğim kadarıyla böyle bir sunucu firması bulunmuyor. Dolayısıyla Ghost kullanabilmek için kendinize ait bir VPS / VSD sunucu olması gerekiyor.

Ghost blog kurulumuna geçmeden önce Digitalocean marketplace ile Ghost'u tek tıkla zahmetsizce kurabilirsiniz. Üstelik aşağıdaki referans linkimi kayıt olursanız üç ay için 100 USD kredi kazanabilirsiniz.

Referans Linki:

DigitalOcean – The developer cloud
Helping millions of developers easily build, test, manage, and scale applications of any size – faster than ever before.

Digitalocean ile tek tıkla Ghost kurulumu [VİDEO]

VPS/VDS sunucuda Ghost kurulumu

Şimdi herhangi bir sunucu firmasından almış olduğunuz Ubuntu 16.04/18.04 veya Ubuntu 20.04 sunucuda Ghost kurulumunun nasıl olacağını anlatacağım.

Ghost Blog sunucu gereksinimleri

  1. Ubuntu 16.04/ 18.06/20.04 sunucu
  2. Geçerli ve A kaydı girilmiş bir alan adı
  3. Nginx Web sunucusu (SSL için en az 1.9.5 üzeri bir sürüm)
  4. Desteklenen bir node.js sürüm. Desteklenen sürümlere bakınız.
  5. MySQL 5.7/8 veri tabanı sunucusu
  6. Systemd
  7. En az 1 GB RAM (Swap kullanılabilir)

Kuruluma başlamadan önce alan adı için bir A kaydı girdiğinizden ve DNS tam oturduğundan emin olun. Aksi halde SSL kurulumu sırasında hata alırsınız.

Sunucu kurulumu

Bu bölümde Ghost Blog kurulumuna geçmeden önce sunucuda Ghost için gerekli ön bağımlılıkları yükleyeceğiz ve ilk sunucu kurulumunu yapacağız.

Sunucu saatini ayarlama

İlk olarak sunucunun saatini ayarlayalım. Bu olası hata kayıtlarında tarih ve saatin doğru olması açısından önemlidir. Aşağıdaki komutu çalıştırarak sunucunun saatini ayarlayabiliriz.

sudo dpkg-reconfigure tzdata 

Açılan listeden Europe'yi ardından Istanbul'u seçin.

Temel güvenlik duvarı kurulumu

Sunucunun sadece belirli bağlantılara izin vermesini sağlamak için UFW güvenlik duvarı kuracağız.

Sunucuda oturum açmamızı sağlan OpenSSH, UFW’de kayıtlıdır. Aşağıdaki komutu yazarak bunu görebilirsiniz.

Güvenlik duvarının SSH bağlantılarına izin verdiğinden emin olmalıyız, böylece bir dahaki sefere tekrar oturum açabiliriz. SSH bağlantılarına aşağıdaki komutu yazarak izin verebiliriz.

ufw allow OpenSSH

Daha sonra yazarak güvenlik duvarını etkinleştirebiliriz:

ufw enable

Gelen uyarıya ydeyip ENTERtuşuna basın.

Yeni bir kullanıcı ekleme

Nginx, Nodejs ve en önemlisi Ghost'u root olmayan bir kullanıcı şile kurmak gerekiyor. Bu işlemler için sudo ayrıcalıklrına sahip yeni bir kullanıcı oluşturacağız.

# yeni bir kullanıcı oluşturmak için aşağıdaki komutu çalıştırın. mekici yazan yere istediğiniz ismi yazabilirsiniz. 
adduser mekici
💡 Oluşturacağınız yeni kullanıcıya Ghost adını vermeyin. Bu ghost-cli ile çakışmalara neden olur.
# Yeni kullanıcıya süper kullanıcı ayrıcalıkları vermek için (sudo yetkisi)
usermod -aG sudo mekici

# Şimdi mekici adlı kullanıcıya geçiş yapalım.
su - mekici

Paketleri güncelle

Uygulamaları kurmadan önce Ubuntu depolarının güncel diğer emin olalım. Bunu sunucuda uygulamadan kurmadan önce tavsiye ederim.

# Paket listelerini güncelleyin
sudo apt-get update

# Yüklü paketleri güncelleyin
sudo apt-get upgrade

Sizden şifre isteyecektir. mekiciadlı şifresini girin.

NGINX kurulumu

Ghost, web sunucusu olarak Nginx üzerinden. SSL için ise en az Nginx 1.9.5 üzeri bir sürüm gereklidir.

# Nginx yüklemek için;
sudo apt-get install nginx

ufw güvenlik duvarını aktif ettiğimiz için HTTP ve HTTPS bağlantılarına izin vermemiz gerekiyor.

sudo ufw allow 'Nginx Full'

MySQL kurulumu

Ghost veri tabanı olarak MySQL kullanır. Ghost'un çalışabilmesi için MySQL 5.7 ve ya MySQL 8 sürümü gereklidir.

# MySQL kurmak için;
sudo apt-get install mysql-server

Eğer Ubuntu 18.04 veya 20.04 sunucunuz varsa aşağıdaki adımları yapmamız gerekiyor. Bunun için root kullanıcısına geri dönelim. root kullanıcısına geçiş için exit yazmanız yeterli.

# MySQL girmek için;
sudo mysql

# Şimdi kullanıcınızı bu komutla güncelleyin
# 'Şifre'yi şifrenizle değiştirin, ancak tırnak işaretlerine dikkat edin. 
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'şifre';

# MySQL'den çıkmak için;
quit

# Şimdi mekici kullanıcısına tekrar geçiş yapalım.
su - mekici

Node.js kurulumu

Ghost bağımlılıklarından biride Node.js'dir. Şimdi node.js kurulumu yapacağız. Ghost'un desteklediği bir node.js sürümünü kurmanız gerekiyor. Desteklenen node.js sürümlerine göz atın.

# Node.js 12 sürümünü kurmak indirin.
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash

# Node.js kurulumu için;
sudo apt-get install -y nodejs

Ghost-CLI kurulumu

Ghost-cli size kurulumda yardımcı olacak bir komut satırı aracıdır.

sudo npm install [email protected] -g

Bu adıma kadar Ghost'un çalışması için gerekli ön hazırları tamamladık. Artık Ghost kurulumuna geçebiliriz.

Ghost Kurulumu

# Ghost sitesinin kurulacağı dizini oluşturalım. sitename kısmına sitenizin adını ayazabilirsiniz. 
sudo mkdir -p /var/www/sitename

# Dizinin sahibini belirleyelim. Ben mekici adında kullanıcı oluşturduğum için mekici yazacağım. Siz kendi kullanıcı adınzı yazın.
sudo chown mekici:mekici /var/www/sitename

# Klasör izinlerini ayarlayalım
sudo chmod 775 /var/www/sitename

# Dizine geçiş yapalım
cd /var/www/sitename

Ghost yüklemeye başlayalım

Ghost dizinine geçiş yaptığımıza göre artık yükleme komutunu çalıştırabiliriz.

ghost install

Ghot Kurulumu Sırasında Sorulan Sorular


Blog URL
Blog URL’nizi yazın. Eğer URL https:// ile başlarsa Ghost sizin için ücretsiz SSL kuracaktır.

MySQL hostname
localhost önerisine ENTER ile kabul edin.

MySQL username / password
Önceden bir veri tabanı oluşturduysanız o kullanıcı adını girin. Eğer oluşturmadıysananız root olarak girin.

Ghost database name
Eğer önceden oluşturduysanız veri tabanı adınızı girin. Yoksa Ghost-CLI sizin için bir veri tabanı oluşturacaktır.

Set up a ghost MySQL user? (Recommended)
Eğer veri tabanı kullanıcısı olarak root girdiyseniz Ghost-CLI yalnızca yeni Ghost veritabanınıza erişebilen / düzenleyebilen ve başka hiçbir şey yapmayan özel bir MySQL kullanıcısı oluşturur.

Set up NGINX? (Recommended)
Bunu ENTER ile kabul edin. Ghost-cli Nginx otomatik yapılandırıp siteyi yayınlayacaktır.

Set up SSL? (Recommended)
Site URL’si başına https:// girdiyseniz Ghost-CLI Let’s Encrypt’i kuracaktır.

Enter your email
SSL için bir mail adresi girin.

Set up systemd? (Recommended)
yes olarak cevaplayalım.

Start Ghost?
yes ile cevaplayıp sistemin çalışmaya başlamasını sağlayalım.



Harika! Muhammed Ekici | mekici.com sitesine tam erişim için ödemeyi tamamlayın
Tekrar hoşgeldiniz! Başarıyla giriş yaptınız
An error occurred
Başarılı! Hesabınız tamamen etkinleştirildi, artık tüm içeriğe erişebilirsiniz
Başarılı! Fatura bilgileriniz güncellendi
Faturalandırmanız güncellenmedi