CentOS 7'de Ghost (CMS) Blog Yayınlama Platformu Nasıl Kurulur


Ghost, Nodejs ile yazılmış ücretsiz, açık kaynaklı ve basit ama güçlü bir blog oluşturma veya çevrimiçi yayınlama yazılımıdır. Çevrimiçi yayınları kolayca oluşturmak ve çalıştırmak için tasarlanmış modern yayınlama araçlarından oluşan bir koleksiyondur.

Hayalet Özellikleri:

  • Hızlı, ölçeklenebilir ve verimli.
  • Markdown tabanlı bir düzenleme ortamı sunar.
  • Bir masaüstü uygulamasıyla birlikte gelir.
  • Güzel gidon şablonlarıyla birlikte gelir.
  • Basit içerik yönetimini destekler.
  • Yazarlar, editörler ve yöneticiler için birden fazla rolü destekler.
  • İçeriğin önceden planlanmasına olanak tanır.
  • Hızlandırılmış mobil Sayfaları destekler.
  • Arama motoru optimizasyonunu tamamen destekler.
  • Ayrıntılı yapılandırılmış veriler sağlar.
  • RSS, E-posta ve Slack aboneliklerini destekler.
  • Basit site düzenlemeye ve çok daha fazlasına olanak tanır.

Gereksinimler:

  1. 1 GB Belleğe Sahip Minimum CentOS 7 Sunucu Kurulumu
  2. Statik IP adresine sahip bir CentOS 7 sistemi
  3. Node v6 LTS – CentOS 7'ye En Son Node.js ve NPM'yi yükleyin
  4. Nginx yüklü bir CentOS 7 sunucusu

Önemli: Ghost'u kendiniz yüklemeye başlamadan önce, iyi bir VPS barındırma sistemine sahip olmanız gerekir; BlueHost'u şiddetle tavsiye ederiz.

Bu makalede, açık kaynaklı bir Ghost (İçerik Yönetim Sistemi) blog platformunun CentOS 7 sistemine nasıl kurulacağını açıklayacağız.

Adım 1: Nodejs'i CentOS 7'ye yükleme

1. Nodejs, CentOS'un yazılım depolarında mevcut değildir, bu nedenle önce depolarını ekleyin ve ardından aşağıdaki gibi yükleyin.

curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs npm
dnf -y install nodejs npm   [On Fedora 22+ versions]

2. Nodejs yüklendikten sonra, komutları kullanarak önerilen Nodejs sürümünün ve npm'nin kurulu olduğunu doğrulayabilirsiniz.

node -v 
npm -v

Adım 2: Ghost'u CentOs 7'ye Yükleme

3. Şimdi, uygulama dosyalarını önerilen kurulum konumu olan /var/www/ghost konumunda saklayacak Ghost kök dizinini oluşturun.

mkdir -p /var/www/ghost

4. Ardından, Ghost'un GitHub deposundan Ghost'un en son sürümünü indirin ve arşiv dosyasını yukarıda oluşturduğunuz dizine açın.

curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip
unzip -uo ghost.zip -d  /var/www/ghost

5. Şimdi yeni hayalet dizinine geçin ve aşağıdaki komutlarla Ghost'u (yalnızca üretim bağımlılıkları) yükleyin. İkinci komut tamamlandığında sisteminize Ghost kurulmalıdır.

cd /var/www/ghost 
npm install --production

3. Adım: Varsayılan Ghost Blogunu Başlatın ve Erişin

6. Ghost'u başlatmak için /var/www/ghost dizininden aşağıdaki komutu çalıştırın.

npm start --production

7. Varsayılan olarak Ghost'un 2368 bağlantı noktasında çalışıyor olması gerekir, bu nedenle erişime izin vermek için güvenlik duvarındaki bağlantı noktasını açın.

firewall-cmd --zone=public --permanent --add-port=2368/tcp
firewall-cmd --reload

8. Şimdi bir web tarayıcısı açın ve aşağıdaki URL'lerden herhangi birine gidin.

http://SERVER_IP:2368
OR
http://localhost:2368

Not: Ghost'u ilk kez çalıştırdıktan sonra, Ghost'un kök dizininde config.js dosyası oluşturulacaktır. Hayalet için ortam düzeyinde yapılandırmayı ayarlamak için bunu kullanabilirsiniz; site URL'niz, veritabanınız, posta ayarlarınız vb. gibi seçenekleri yapılandırabileceğiniz yer.

Adım 4: Ghost için Nginx'i Kurun ve Yapılandırın

Gösterildiği gibi EPEL deposu kullanılarak kurulmamışsa, Nginx web sunucusunu kurun ve başlatın.

yum install epel-release
yum install nginx
systemctl start nginx

Güvenlik duvarı çalıştırıyorsanız HTTP ve HTTPS trafiğine erişimi etkinleştirmek için aşağıdaki komutları kullanın.

firewall-cmd --permanent --zone=public --add-service=http 
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

Bir sonraki adım, Nginx'i Ghost blogumuza 80 numaralı bağlantı noktasında sunuculuk yapacak şekilde yapılandırmaktır; böylece kullanıcılar, URL'nin sonuna :2368 bağlantı noktasını eklemeden Ghost blog'a erişebilir.

Öncelikle terminalde CTRL+C tuşlarına basarak çalışan Ghost örneğini durdurun.

Şimdi /etc/nginx/sites-available/ghost altında yeni bir dosya oluşturarak Nginx'i yapılandırın.

vi /etc/nginx/sites-available/ghost

Aşağıdaki yapılandırmayı ekleyin ve aşağıdaki vurgulanan satırları alan_adınız_veya_ip_adresiniz olarak değiştirdiğinizden emin olun.

server {
    listen 80;
    server_name your_domain_or_ip_address;
    location / {
    proxy_set_header HOST $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass         http://127.0.0.1:2368;
    }
}

Dosyayı kaydedin ve /etc/nginx/sites-enabled dizini altında bir sembolik bağlantı oluşturarak bu yapılandırmayı etkinleştirin.

ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost

Şimdi /etc/nginx.conf dosyasını açın. yapılandırma dosyalarını sitelerin etkin olduğu dizinine ekleyin ve varsayılan siteyi gösterildiği gibi devre dışı bırakın.

vi /etc/nginx/nginx.conf

Şimdi, yapılandırma dosyalarını sites-enabled dizinine dahil etmek için http bloğunun içine aşağıdaki satırı ekleyin.

http {
...
    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

Daha sonra http bloğunun içinde bulunan varsayılan sunucu bloğunu tamamen yorumlayın.

...

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;


   server {
      listen       80 default_server;
      listen       [::]:80 default_server;
      server_name  _;
      root         /usr/share/nginx/html;
#
      # Load configuration files for the default server block.
      include /etc/nginx/default.d/*.conf;
#
      location / {
      }
#
      error_page 404 /404.html;
          location = /40x.html {
      }
#
      error_page 500 502 503 504 /50x.html;
          location = /50x.html {
      }
...
...

Son olarak nginx web sunucusunu kaydedip yeniden başlatın.

systemctl restart nginx

Bir kez daha http://alan_adiniz_veya_ip_adresi adresini ziyaret ettiğinizde Ghost blogunuzu göreceksiniz.

Daha fazla bilgi için Ghost ana sayfasına gidin: https://ghost.org/

Bu yazımızda CentOS 7'de Ghost'un nasıl kurulacağını ve yapılandırılacağını anlattık. Sorularınızı veya kılavuzla ilgili düşüncelerinizi bize iletmek için aşağıdaki yorum formunu kullanın.

Son olarak bir sonraki yazımızda Ghost'un Debian ve Ubuntu'da nasıl kurulacağını göstereceğiz. O zamana kadar linux-console.net'a bağlı kalın.