Ücretsiz VDS Üzerine Ghost Blog Kurmak

Ghost, Wordpress alternatifi güçlü ve ücretsiz bir blog yazılımıdır. Bu yazımızda ömür boyu ücretsiz sunucu üzerine Ghost blogumuzu kuracağız.

Ücretsiz VDS Üzerine Ghost Blog Kurmak
Photo by Christin Hume / Unsplash

Blog deyince akla Wordpress geliyor ve internetteki sitelerin büyükçe bir bölümü bu yazılım üzerine kurulu. Wordpress iyidir, candır ancak konu sadece blog yazmaksa Wordpress bir beden büyük gelir, Ghost ise biçilmiş kaftandır.

Ghost, hız ve sadelik üzerine odaklanmış NodeJs tabanlı modern bir blog yazılımıdır. Bu yazılımda hakikaten yazı yazmak başka bir zevk. Denemeniz ve kullanmanız için tek sebep elbette bu değil.

Ghost, Wordpress'te sadece eklentiler yardımıyla elde edeceğiniz e-posta bülteni, ücretli abonelik gibi özellikleri var sayılan olarak sunar. Bunun dışında entegre edebileceğiniz bir çok hizmet vardır ama odak hep blog yazmak üzerinedir.

Ghost'un en büyük dezavantajı olarak hosting meselesini söyleyebiliriz. Nodejs tabanlı olduğu için wordpressin aksine paylaşımlı hosting paketlerinin bir çoğu, tamam nerdeyse tümü ghost blogu desteklemez. Bu yüzden bir vds ya da vps kiralamanız gerekiyor.

Durun...

Vds kelimesi gözünüzü korkutmasın, kurulumu wordpress kadar olmasa da hala çok basit. Resmi kurulum rehberini takip ederek bir kaç adımda ghost blogunuzu kurabilirsiniz.

Oracle Cloud Ücretsiz Sunucu

Size bu konuda güzel de bir haberimiz var. Ghost blog kurmak için sunucuya para vermeye de gerek yok.

Oracle firması başlangıç için işinizi görecek özellikleri taşıyan sunucuyu ücretsiz olarak veriyor.

Yapmanız gereken Oracle Cloud adresine ilerleyip kayıt olmak. Oracle Cloud ücretsiz olarak kullanabileceğiniz iki adet 1gb ram kapasiteli amd tabanlı sunucu ya da 24 gm ram ve 8 çekirdek kapasiteli arm tabanlı sunucuyu ücretsiz olarak veriyor.

  • 24 gb 8 çekirdekli Arm tabanlı sunucu
  • İki adet 1 gb ram ve 1 çekirdekli intel sunucu

Konu Oracle gibi bir dünya bilişim devi olunca güven sorunu da ortadan kalkıyor.

Bu arada 24 gb ram veren arm tabanlı sunucu ücretsiz bir hizmet için inanılmaz özellikler barındırıyor yalnız malesef bu sunucuya ghost kurmak mümkün olmuyor.

Yalnız burada küçük bir sorun karşınıza çıkabilir, hesapları manuel olarak onayladıklarından üyelik esnasında girdiğiniz bilgilere dikkat edin.

Onay aşaması bir hafta kadar sürebilir.

Oracle Cloud üzerine Ghost Blog kurmak

Oracle cloud üzerinden ücretsiz aldığımız vps sunucumuz üzerine ghost blogu nasıl kuracağız?

Adım 1: VPS Kurulumu

Bunun için öncelikle vpsimizi hazır hale getirmemiz gerekecek. Oracle hesabımız üzerindeki compute bölümünden Instances bağlantısına gidiyoruz ve creat new instance linkine tıklayarak vps imizi oluşturuyoruz.

Oluşturma aşamasında işletim sistemini ubuntu 20. 04, 1gb rem ve 1 çekirdekli intel sunucuyu seçiyoruz. Üzerinde always free tier yazısını görün.

Aynı bölümden ssh girişi için gerekli olan ssh anahtarlarını indirmeyi unutmayın, yoksa vps imize giriş yapamayız.

Bunları dikkate aldıktan sonra create bağlantısına tıklayıp, sunucumuzu oluşturuyoruz. Bu arada eğer Türkçe bir blog düşünüyorsanız konum olarak frankfurt seçmenizi öneririm.

Adım 2: Domaini Bağlamak

Bir blog oluşturacaksanız, güzel bir domain şart. Bunu elbette ücretsiz veren siteler var ama hiç gerek yok. Yıllık 200 tl gibi fiyatlara kendinize markalık güzel bir alan adı alabilirsiniz.

Alan adınızı aldığınızı varsayarak devam ediyorum. VPS'i oluşturduğumuzda bize public ip verir. Bu ip sitemizi internette yayınlamak için gereklidir. Bu ip'yi kopyaladıktan sonra domain paneline girip bir A kaydı oluşturuyoruz ve domainimizi bu ip'ye yönlendiriyoruz.

Adım 3: VPS e giriş yapmak

Bu adımda artık sunucumuza giriş yapıp gerekli uygulamaları kurmamız gerekiyor. Bunu Ghost resmi dökümanında yazan adımları izleyerek yapacağız ancak Oracle Cloud'da sitenizin yayınlanması için bir kaç fazladan adım gerekiyor. Şimdi kuruluma geçelim.

Kurulum aşamasında indirdiğimiz ssh anahtarları ile bir program kullanarak ya da bilgisayarınızın komut satırını kullanarak sunucumuza giriş yapmamız gerekiyor. Ben bu adım için Termius programını tercih ettim.

Mac bilgisayarlarda direk terminali kullanarak da giriş yapabilirsiniz ancak termius çok daha kullanışlı. Windows bilgisayarlarda ise meşhur Putty programını kullanabilirsiniz.

Sonra şu adımları izliyoruz:

Öce yeni bir kullanıcı oluşturup o kullanıcıya yönetici yetkisi verelim:

adduser <user>
# Kullanıcıya yönetici yetkileri verelim
usermod -aG sudo <user>

# Bu kullanıcı ile giriş yapalım
su - <user>

Şimdi de kurduğumuz işletim sistemini güncelleyelim:

# Paket listelerini güncelleme
sudo apt-get update

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

Nginx kuralım

# NGINX kurulumu
sudo apt-get install nginx
sudo ufw allow 'Nginx Full'

Mysql yazılımını kuralım.

# Install MySQL
sudo apt-get install mysql-server

Mysql varsayılan kullanıcısının şifresini değiştirmemiz gerekiyor. Bu kurulum aşamasınıda sorulacak. Şifre yazan yere kendi şifremizi giriyoruz. Bir yere not etmeyi unutmayın.

# Şifre koymak için Mysql'e giriş yapıyoruz.
sudo mysql

# Şimdi de aşağıdaki komutla kullanıcıyı güncelliyoruz.
# 'Şifeniz' yazan yere kullanmak istediğiniz şifreyi yazın, tırnak işaretleri kalsın.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'şifreniz';

# MySQL'den çıkış
quit

# Ubuntu sistemine tekrar giriş yapabilirsiniz.
su - <user>

NodeJs yazılımını kuruyoruz.

# Add the NodeSource APT repository for Node 16
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash

# Install Node.js
sudo apt-get install -y nodejs

Ghost yazılım yükleme yardımcısını kuruyoruz.

sudo npm install ghost-cli@latest -g

Artık ghost yazılımını sunucumuza kurmak için nerdeyse hazırız. Ancak kuruluma geçmeden önce domainimizin sunucuya bağlandığından emin olmanız gerekir. Bunu yapmak için whatsmydns gibi araçları kullanabilirsiniz.

Bir adım da oracle tarafında atmamız gerekiyor. Oracle Cloud güvenlik amaçlı sunucunun internette yayınlanması için gerekli portları kapatır. Bunları tekrar açmak gerekir yoksa kurulum tamamlansa bile SSL kurulumunu yapamayız ve sitemize domain üzerinden erişmemiz mümkün olmaz.

Bunu yapmak için oracle cloud panelinden instances ve sonra sunucumuzun ismine tıklıyoruz. Açılan sayfadan virtual network linkine tıklayıp, security bölümüne ilerliyoruz.

Burada portları açmak için yeni kural girmemiz gerekiyor. Add new rule linkine tıklayıp, ip bölümüne 0.0.0.0/0 değerini, değer bölümüne ise 80, 443 giriyoruz.

Bir de şu kodları çalıştırıyoruz. Bu adım normalde digitalocean gibi yerlerde gerekmiyor ama oracle cloud için gerekli

sudo iptables -I INPUT 5 -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT 5 -p tcp --dport 443 -j ACCEPT
sudo iptables-save | sudo tee /etc/iptables/rules.v4

Artık kurulum için hazırız.

Kurulum için gerekli klasörleri oluşturuyoruz.

# Klasör oluşturma: `siteadı` yerine istediğiniz adı yazabilirsiniz.
sudo mkdir -p /var/www/siteadı

# Gerekli izinleri verme : <user> kısmını kendi kullanıcı adınızı yazın
sudo chown <user>:<user> /var/www/siteadı

# Yazma izinlerini verme
sudo chmod 775 /var/www/siteadı

# Klasör içine giriş
cd /var/www/siteadı

Ghost kurulumunu başlatıyoruz.

ghost install

Bu aşamada ghost yazılımı sizden siteniz için gerekli bilgileri ister. Veritabanı bilgileri, site adresiniz ve ssl kurulumu için e-posta adresiniz.

Veritabanı için;

Adres: localhost

Kullanıcı:root

Şifre: yukarda değiştirdiğiniz şifre

Kurulum bittikten sonra tarayıcıya site adresinizi yazarak kullanıcı oluşturabilir ve yönetim panelinize giriş yapabilirsiniz.