April 26, 2016 · EC2 Ghost Route53 S3

AWS kullanarak Ghost Blog'u Açma

Ghost Logo

Blog yazmak için birkaç tane bilindik ürün var.

Bunlardan Wordpress ve Ghost diğerlerine göre daha profosyonel blog oluşturma araçları. İlk makaleyide awsturkiye.com üzerine kurduğum Ghost ortamını anlatarak başlamak istiyorum.

Domain'i Satın Alın

AWS üyeliğiniz olduğunu varsayıyorum. AWS Management Console girdikten sonra Route53 ikonuna basın.

Route53

Açılan ekran DNSleri yönetmenizi sağlayan Amazon Servisidir. İsmini DNS'in kullandığı port ismi olan 53 portundan almıştır.

DNS sunuculara dış IP'lerinden erişmek yerine bir isim ile erişilmesini sağlar. Örneğin tarayıcıya http://awsturkiye.com yerine http://52.50.209.108/ yazmak istemeyiz.

Domains/Registered sekmesindeki Register Domain düğmesine basılır. Alınmak istenilen Domain ismi kontrol edilir ve bu domain boşta ise diğer adımlarda doldurularak Domain ismi satın alınır.

Domain Search

EC2 üzerine Ghost Sunucusu Kurun

AWS Console'undan EC2 ikonuna basın. Elastic Compute Service sizin Amazon bulutu üzerinde sanal sunucu oluşturmanızı sağlar.

EC2 icon

Açılan ekrandan EC2 Dashboard sekmesine basın ve bu ekrandan Launch Instance düğmesine basarak bir Instance oluşturun

Launch Instance

İlk önce bir AMI seçmelisiniz. Amazon Machine Image yani işletim sistemi + üzerinde çalışmasını istediğiniz sunucu ve uygulamaların yüklü olduğu Image seçmelisiniz. Biz AWS Marketplace sekmesine gidip burada Ghost image olup olmadığına bakıyoruz. Altı kırmızı çizgili olan Bitnami (HVM) Image seçiyoruz.

Choose AMI

Bundan sonraki aşama instance seçmekte. En ucuz olan t2.nano instance seçiyoruz. Aylık maliyet tahmini 5$ Tabi FreeTier hakkınız var ise t2.micro'da seçerek bu işi 1 yıl boyunca bedavaya getirebilirsiniz.

Choose Instance Type

Bundan sonraki sekmeler Default değerleri ile kalabilir sadece Next, Next düğmelerine basarak instance oluşturulmasını sağlayın.

Instance'ın oluşması ve çalışır hale gelmesi biraz zaman alacaktır çalıştığında running ve 2/2checks.. OK olduğunu göreceksiniz.

AWS Instance Running

Firewall Ayarları

EC2 instance Security Group ayarlarını varsayılanları bırakmıştık. Instance'ın en soluna geldiğimizde Ghost powered by .. yazılı security group oluşturulduğunu görebiliriz. Buna atanan Inbound/Outbound güvenlik ayarlarına baktığımızda;

Inbound Kuralları internetten sunucuya erişmek istenen portlara verdiğimiz izinlerdir.

SG Inbound Rules

Outbound Kuralları bizim Ghost sunucumuzun nerelere erişim ihtiyacı olduğu ile ilgilidir. Aşağıdaki resimde görüldüğü gibi sunucumuzun tüm IP erişimleri açıktır.

SG Outbound Rules

Elastic IP Alın

Instance solunda gördüğünüz IP'nizin EC2 instance terminate edip tekrar oluşturduğunuzda IP gittiğini size IP Pool'dan yeni bir Public IP verildiğini göreceksiniz. Bu IP'yi kolaylıkla kaybediyor olmanız ilerde DNS-IP eşleşmesinde sürekli güncelleme gerektirecektir. Bunu önlemek için Elastic IP'nizi alıp EC2 sanal makinenizi bu IP attach etmeniz gerekmektedir.

Network & Security sekmesinin altında Elastic IPs düğmesine basın. Açılan ekranda Allocate New Address düğmesine basarak yeni bir Elastic IP alın. Bu Elastic IP artık sizin hesabınız ile eşleşmiş durumda siz silmedikçe veya hesabınız silinmedikçe bu Elastic IP durmaya devam edecektir.

Oluştuduğunuz adres seçip Actions/Associate Adress düğmesine basın. Instance kısmında oluşturduğunuz Ghost instance seçerek Associate düğmesine basın ve sunucuyu ElasticIP ile ilişkilendirin.

Associate Elastic Adress

EC2 Dashboard gittiğinizde artık dış IP rengi siyahtan mavi renge dönüştüğünü görebilirsiniz.

DNS Record Tanımlayın

Sabit bir IP'miz olduğuna göre DNS Kaydı tanımlayabiliriz. A* Kaydı tanımlayarak Domain isminin hangi IP gideceğini tanımlıyoruz. Ardından www. için CNAME tanımlayıp bunuda aynı A* adresine yönlendiriyoruz.

DNS Kaydı Tanımla

Ghost'a İlk Giriş

İlk kullanıcınız user@example.com'dur. Ve default atanan ilk şifrenize erişebilmeniz için EC2 instance System Loglarına bakmanız gerekmektedir.

EC2 System Log

AWSTurkiye System Log

Kullanıcı adı ve şifre elimizde fakat www.domain_name/admin ekranından login olmaya çalıştığınızda sistem ePosta gönderme yetkisi ile ilgili bir takım hata verir. Bu problemin giderilebilmesi için EC2 içerisindeki config.js dosyasına kendi domain isminizi girmeniz gerekir. EC2 makinesine bağlanmak için Connect düğmesine basın. EC2 makinesine konsoldan hangi komutla bağlanacağınızı gösteriyor olacak.

bitnami directory

Bitnami sunucusuna bağlandıktan sonra ghost klasörüne gidip htdocs altındanki config.js dosyasını url adresini nano uygulaması güncelleyin. Bu sunucucunuza login olabilmenizi sağlayacaktır.

production: {
  url: 'awsturkiye.com',

Bitnami banner'ını sağ alt köşeden kaldırmak için aşağıdaki komutu çağırın.

 sudo ./bnconfig --disable_banner 1

Bitnami stop /start edebilmek için scripts altındaki komutları çalıştırın.

  sudo ./ctl.sh stop
  sudo ./ctl.sh start

Artık ghost'a ilk girişinizi gerçekleştirebilirsiniz.

Not:

Ghost konfigurasyonu konusunda bana yardımcı olan Soner'e teşekkür ediyorum.

Ghost'a Google Analytics Ekleyin

Google Analytics'e gidin domain name için bir Analytics scripti oluştururun. Ghost içerisindeki Code Injection içerisindeki BlogHeader kısmına bu scripti ekleyin.

Ghost Blog'umuz hazır :)

Buraya eklemem gereken bir , iki nokta daha var oda temalar ile ilgili..

Ghost Temasını Güncelleyin

Burada bulduğunuz temalardan bir tanesini /opt/bitnami/apps/ghost/htdocs/content/themes
altına atarak buradan ghost restart etmeniz ve sonrasında General sekmesi altından Theme seçmeniz yeterli olacaktır.

Disqus plugini aktif hale getirmek için comments.hbs ve post.hbs gerekli konfigurasyonları tanımlamanız gerekiyor.

  • LinkedIn
  • Tumblr
  • Reddit
  • Google+
  • Pinterest
  • Pocket
Comments powered by Disqus