Takip et

Ghost’u CentOS 7 Üzerine Kurulumu ve Yapılandırması

Ghost’u CentOS 7 Üzerine Kurulumu ve Yapılandırması CentOS 7, sunucu ortamlarında kararlılığı ve güvenilirliği ile bilinen popüler bir Li

Ghost’u CentOS 7 Üzerine Kurulumu ve Yapılandırması

CentOS 7, sunucu ortamlarında kararlılığı ve güvenilirliği ile bilinen popüler bir Linux dağıtımıdır. Ghost ise, modern ve açık kaynaklı bir yayıncılık platformu olup, blog yazarları ve yayıncılar için temiz, hızlı ve kullanıcı dostu bir deneyim sunar. Node.js tabanlı olması, Markdown desteği ve güçlü API’leri ile dikkat çeker. Bu makalede, Ghost blog platformunu CentOS 7 işletim sistemi üzerine adım adım nasıl kuracağınızı ve yapılandıracağınızı detaylı bir şekilde anlatacağız.

Giriş

İnternet dünyasında içerik üretimi ve paylaşımı her geçen gün daha da önem kazanmaktadır. Bloglar, kişisel veya kurumsal markaların seslerini duyurabildikleri, bilgi ve deneyimlerini paylaşabildikleri güçlü platformlardır. Ghost, bu ihtiyaca yönelik olarak geliştirilmiş, minimalist ancak güçlü özelliklere sahip bir yayıncılık aracıdır. Geleneksel blog platformlarına kıyasla daha modern bir teknoloji yığınına (Node.js) sahiptir ve performans ile kullanıcı deneyimini ön planda tutar.

Ghost Nedir?

Ghost, 2013 yılında piyasaya sürülen, açık kaynaklı bir blog ve yayıncılık platformudur. Amacı, sadece yazmaya odaklanabilmeniz için karmaşıklığı ortadan kaldırmaktır. Node.js üzerinde çalışır, ön uçta Handlebars şablon motorunu kullanır ve veri depolama için MySQL veya SQLite’ı destekler. Temiz bir yönetim paneli, Markdown tabanlı içerik düzenleyici, güçlü SEO yetenekleri ve esnek tema sistemi ile öne çıkar. Geliştiriciler için de zengin bir API sunarak özel entegrasyonlara olanak tanır.

Neden CentOS 7?

CentOS 7, Red Hat Enterprise Linux (RHEL) tabanlı, kurumsal düzeyde bir işletim sistemidir. Sağlamlığı, uzun süreli desteği (EOL 2024 Haziran), güvenliği ve geniş topluluk desteği sayesinde sunucu ortamlarında yaygın olarak tercih edilir. Ghost gibi bir uygulamanın kararlı ve güvenli bir ortamda çalışması gerektiğinden, CentOS 7 bu tür bir dağıtım için ideal bir seçimdir. Ayrıca, paket yöneticisi yum ve systemd gibi araçlar, kurulum ve yönetim süreçlerini kolaylaştırır.

Bu makalede, Ghost’un kurulumu için gerekli olan Node.js, MySQL, Nginx gibi bağımlılıkların CentOS 7 üzerine nasıl kurulacağını ve yapılandırılacağını ayrıntılı bir şekilde ele alacağız. Amacımız, makalenin sonunda çalışan ve güvenli bir Ghost bloguna sahip olmanızı sağlamaktır.

Önkoşullar

Ghost kurulumuna başlamadan önce sunucunuzun belirli gereksinimleri karşıladığından ve bazı temel yapılandırmaların yapıldığından emin olmalısınız.

Sistem Gereksinimleri

* İşletim Sistemi: CentOS 7 (64-bit)
* RAM: Minimum 1 GB (2 GB veya üzeri önerilir)
* CPU: En az 1 çekirdekli işlemci
* Depolama: Minimum 20 GB boş disk alanı
* Erişim: Root veya sudo yetkilerine sahip bir kullanıcı
* Alan Adı: Ghost blogunuz için yapılandırılmış bir alan adı (örn: blog.example.com). Bu alan adının DNS kayıtlarının sunucunuzun IP adresine işaret ettiğinden emin olun.

Sudo Yetkili Kullanıcı Oluşturma

Güvenlik nedenleriyle, root kullanıcısı yerine sudo yetkilerine sahip standart bir kullanıcı ile çalışmak her zaman önerilir. Eğer zaten sudo yetkili bir kullanıcınız varsa bu adımı atlayabilirsiniz.

# Yeni bir kullanıcı oluşturun (örn: ghost_user)
sudo adduser ghost_user

Kullanıcıya şifre atayın

sudo passwd ghost_user

Kullanıcıyı 'wheel' grubuna ekleyerek sudo yetkileri verin

sudo usermod -aG wheel ghost_user

Yeni kullanıcıya geçiş yapın

su - ghost_user

Bundan sonraki tüm komutları bu kullanıcı üzerinden sudo önekiyle çalıştıracağız.

Güvenlik Duvarı Yapılandırması (FirewallD)

CentOS 7, varsayılan olarak firewalld güvenlik duvarı servisini kullanır. Nginx ve Let’s Encrypt’in düzgün çalışabilmesi için HTTP (80) ve HTTPS (443) portlarının açık olması gerekmektedir. SSH (22) portunun da açık olduğundan emin olun.

# Güvenlik duvarının durumunu kontrol edin
sudo firewall-cmd --state

HTTP ve HTTPS servislerini kalıcı olarak ekleyin

sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https

SSH servisinin açık olduğundan emin olun (genellikle varsayılan olarak açıktır)

sudo firewall-cmd --permanent --add-service=ssh

Değişiklikleri uygulamak için güvenlik duvarını yeniden yükleyin

sudo firewall-cmd --reload

Açık servisleri kontrol edin

sudo firewall-cmd --list-all

Sistem Güncellemesi ve Temel Bağımlılıkların Kurulumu

Kuruluma başlamadan önce sisteminizin güncel olduğundan ve gerekli temel paketlerin yüklü olduğundan emin olmak önemlidir. Bu, olası uyumluluk sorunlarını önler.

# Sistemdeki tüm paketleri güncelleyin
sudo yum update -y
sudo yum upgrade -y

EPEL (Extra Packages for Enterprise Linux) deposunu ekleyin.

Bu depo, bazı gerekli paketleri içerir (örn: Nginx, Certbot).

sudo yum install epel-release -y

Gerekli temel araçları yükleyin

sudo yum install curl wget git unzip -y

Node.js Kurulumu

Ghost, Node.js üzerinde çalıştığı için sunucunuza Node.js ve npm’i (Node.js Paket Yöneticisi) kurmanız gerekmektedir. Ghost, belirli Node.js LTS (Uzun Süreli Destek) sürümlerini gerektirir. Bu makale yazıldığı sırada Node.js 16.x veya 18.x önerilmektedir. Burada Node.js 18.x sürümünü kuracağız.

NodeSource Deposu Ekleme

CentOS’un varsayılan depolarında genellikle güncel Node.js sürümleri bulunmaz. Bu nedenle, NodeSource deposunu eklememiz gerekmektedir.

# Node.js 18.x sürümü için NodeSource deposunu ekleyin
curl -sL https://rpm.nodesource.com/setup_18.x | sudo bash -

Bu komut, NodeSource GPG anahtarını sisteminize ekleyecek ve Node.js paketlerini içeren yeni bir yum deposu yapılandırma dosyası oluşturacaktır.

Node.js ve npm Kurulumu

Depo eklendikten sonra Node.js ve npm’i kolayca kurabiliriz.

# Node.js'yi kurun. Bu, npm'i de otomatik olarak kuracaktır.
sudo yum install nodejs -y

Sürüm Doğrulama

Kurulumun başarılı olup olmadığını kontrol etmek için Node.js ve npm sürümlerini doğrulayın.

node -v
npm -v

Çıktı olarak Node.js ve npm’in yüklü sürümlerini görmelisiniz (örn: v18.x.x ve 8.x.x).

MySQL Veritabanı Kurulumu ve Yapılandırması

Ghost, içerik ve ayarlarını depolamak için bir veritabanına ihtiyaç duyar. Bu makalede MySQL’i kullanacağız.

MySQL Topluluk Deposu Ekleme

CentOS’un varsayılan depolarında eski MySQL sürümleri bulunabilir. MySQL’in güncel bir sürümünü (örn: MySQL 8.0) kurmak için MySQL Topluluk Deposunu eklememiz gerekmektedir.

# MySQL 8.0 topluluk deposunu ekleyin
sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm -y

MySQL 8.0 deposunun etkinleştirildiğinden emin olmak için kontrol edin

sudo yum repolist enabled | grep "mysql.-community."

MySQL Sunucusu Kurulumu

Depo eklendikten sonra MySQL sunucusunu kurabiliriz.

# MySQL sunucusunu kurun
sudo yum install mysql-community-server -y

MySQL servisini başlatın ve sistem başlangıcında otomatik başlaması için etkinleştirin

sudo systemctl start mysqld sudo systemctl enable mysqld

MySQL Güvenlik Yapılandırması

MySQL kurulumundan sonra, varsayılan olarak güçlü bir root parolası atanmaz ve bazı güvenlik açıkları bulunabilir. mysql_secure_installation betiği ile bu güvenlik açıklarını gidermeniz önemlidir. İlk root parolası mysqld log dosyasında bulunur.

# Geçici root parolasını bulun
sudo grep 'temporary password' /var/log/mysqld.log

Güvenlik yapılandırma betiğini çalıştırın

sudo mysql_secure_installation

Betik çalıştırıldığında sizden aşağıdaki adımları tamamlamanızı isteyecektir:
* Geçici parolayı girin.
* Yeni ve güçlü bir root parolası belirleyin. Parola politikası için “Y” veya “y” tuşuna basarak Strong (Güçlü) seçeneğini seçmeniz önerilir.
* Anonim kullanıcıları kaldırmak için “Y” veya “y” tuşuna basın.
* Root kullanıcısının uzaktan giriş yapmasını engellemek için “Y” veya “y” tuşuna basın.
* Test veritabanını kaldırmak için “Y” veya “y” tuşuna basın.
* Ayrıcalık tablolarını yeniden yüklemek için “Y” veya “y” tuşuna basın.

Ghost İçin Veritabanı ve Kullanıcı Oluşturma

Ghost için ayrı bir veritabanı ve kullanıcı oluşturmak, güvenlik açısından iyi bir uygulamadır.

# MySQL'e root kullanıcısı olarak giriş yapın
sudo mysql -u root -p

MySQL root parolanızı girin

Ghost için bir veritabanı oluşturun (örn: ghost_db)

CREATE DATABASE ghost_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Ghost için bir kullanıcı oluşturun ve güçlü bir parola atayın (örn: ghost_user)

CREATE USER 'ghost_user'@'localhost' IDENTIFIED BY 'YOUR_STRONG_PASSWORD';

Oluşturulan kullanıcıya veritabanı üzerinde tüm ayrıcalıkları verin

GRANT ALL PRIVILEGES ON ghost_db.* TO 'ghost_user'@'localhost';

Ayrıcalıkları güncelleyin

FLUSH PRIVILEGES;

MySQL'den çıkın

EXIT;

YOUR_STRONG_PASSWORD kısmını kendi güçlü parolanızla değiştirmeyi unutmayın.

Nginx Web Sunucusu Kurulumu ve Yapılandırması

Nginx, yüksek performanslı bir web sunucusu ve ters proxy’dir. Ghost’u bir Node.js uygulaması olarak çalıştırmak için Nginx’i ters proxy olarak kullanacağız. Bu sayede Nginx, gelen HTTP/HTTPS isteklerini Ghost’un çalıştığı Node.js sürecine yönlendirecektir.

Nginx Kurulumu

Nginx, EPEL deposunda bulunur, bu depoyu daha önce eklemiştik.

# Nginx'i kurun
sudo yum install nginx -y

Nginx servisini başlatın ve sistem başlangıcında otomatik başlaması için etkinleştirin

sudo systemctl start nginx sudo systemctl enable nginx

Nginx Güvenlik Duvarı Kuralları

Daha önce HTTP ve HTTPS servislerini güvenlik duvarına eklemiştik. Nginx’in bu portlar üzerinden erişilebilir olduğundan emin olun.

# Güvenlik duvarını yeniden yükleyin (eğer Nginx kurulumundan önce eklemediyseniz)
sudo firewall-cmd --reload

Nginx Sanal Host Yapılandırması

Nginx’in Ghost’a gelen istekleri doğru şekilde yönlendirmesi için bir sanal host (server block) yapılandırması oluşturmamız gerekiyor.

# Varsayılan Nginx yapılandırmasını yedekleyin (isteğe bağlı)
sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

Yeni bir Nginx yapılandırma dosyası oluşturun

sudo nano /etc/nginx/nginx.conf

nginx.conf dosyasının içeriğini aşağıdaki gibi güncelleyin veya yeni bir dosya olarak kaydedin. Bu temel bir yapılandırmadır. http bloğunun içine aşağıdaki include satırını eklediğinizden emin olun:

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # 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;

    # Varsayılan sunucu bloğunu kaldırın veya devre dışı bırakın
    # server {
    #     listen       80 default_server;
    #     listen       [::]:80 default_server;
    #     server_name  _;
    #     root         /usr/share/nginx/html;
    #
    #     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 {
    #     }
    # }
}

Şimdi Ghost için bir yapılandırma dosyası oluşturalım. yourdomain.com kısmını kendi alan adınızla değiştirmeyi unutmayın.

sudo nano /etc/nginx/conf.d/yourdomain.com.conf

Aşağıdaki içeriği dosyaya yapıştırın:

server {
    listen 80;
    listen [::]:80;

    server_name yourdomain.com www.yourdomain.com;
    root /var/www/ghost; # Bu dizin Ghost CLI tarafından oluşturulacaktır

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_pass http://127.0.0.1:2368; # Ghost'un varsayılan portu
    }

    # Let's Encrypt sertifika doğrulama için gerekli
    location ~ /.well-known {
        allow all;
    }
}

Nginx yapılandırmasını test edin ve hataları kontrol edin:

sudo nginx -t

Eğer syntax is ok ve test is successful mesajlarını görüyorsanız, Nginx servisini yeniden yükleyebilirsiniz:

sudo systemctl reload nginx

Ghost CLI Kurulumu

Ghost CLI (Komut Satırı Arayüzü), Ghost kurulumunu, yapılandırmasını ve yönetimini kolaylaştıran bir araçtır. Node.js’nin npm paket yöneticisi aracılığıyla global olarak kurulur.

# Ghost CLI'yi global olarak kurun
sudo npm install ghost-cli@latest -g

Kurulumun başarılı olduğunu doğrulamak için ghost help komutunu çalıştırabilirsiniz.

Ghost Kurulumu

Artık tüm önkoşullar hazır olduğuna göre, Ghost’u kurmaya başlayabiliriz. Ghost CLI, kurulum sürecinin büyük bir kısmını otomatikleştirir.

Ghost İçin Dizin Oluşturma

Ghost’u kurmak için özel bir dizin oluşturmak iyi bir uygulamadır. Genellikle /var/www/ghost yolu tercih edilir.

# Ghost için dizin oluşturun
sudo mkdir -p /var/www/ghost

Dizin sahibini daha önce oluşturduğumuz sudo kullanıcısına atayın (örn: ghost_user)

sudo chown ghost_user:ghost_user /var/www/ghost

Dizin izinlerini ayarlayın (sudo kullanıcısının yazma iznine sahip olması için)

sudo chmod 775 /var/www/ghost

Ghost dizinine geçiş yapın

cd /var/www/ghost

Ghost Kurulum Sihirbazını Çalıştırma

Şimdi Ghost CLI’yı kullanarak kurulum sihirbazını başlatabiliriz.

ghost install

ghost install komutu size birkaç soru soracaktır:

1. Enter your blog URL: https://yourdomain.com veya http://yourdomain.com (SSL’i daha sonra yapılandıracaksak HTTP ile başlayabiliriz, ancak CLI genellikle SSL kurulumunu da entegre eder). Eğer SSL kullanacaksanız https ile başlamak daha iyidir.
2. Enter your MySQL hostname: localhost
3. Enter your MySQL username: ghost_user (daha önce oluşturduğunuz kullanıcı adı)
4. Enter your MySQL password: YOUR_STRONG_PASSWORD (daha önce belirlediğiniz parola)
5. Enter your Ghost database name: ghost_db (daha önce oluşturduğunuz veritabanı adı)
6. Do you wish to set up Nginx? Yes (Bu, Nginx yapılandırma dosyasını otomatik olarak oluşturacak veya güncelleyecektir.)
7. Do you wish to set up SSL? Yes (Bu, Let’s Encrypt kullanarak SSL sertifikası alacak ve Nginx’i HTTPS için yapılandıracaktır. Bu adım için geçerli bir alan adına ve DNS ayarlarına sahip olmanız gerekir.)
* Enter your email (used for Let’s Encrypt notifications): your_email@example.com
8. Do you wish to set up Systemd? Yes (Bu, Ghost’u bir sistem servisi olarak çalıştıracak ve sunucu yeniden başlatıldığında otomatik olarak başlamasını sağlayacaktır.)
9. Do you wish to start Ghost? Yes

Bu adımları tamamladığınızda Ghost CLI, Ghost’u indirecek, bağımlılıkları kuracak, veritabanını yapılandıracak, Nginx sanal hostunu güncelleyecek (SSL ile birlikte), bir systemd servisi oluşturacak ve Ghost’u başlatacaktır. Bu işlem biraz zaman alabilir.

Ghost Yapılandırması

ghost install komutu çoğu yapılandırmayı otomatik olarak halleder. Ancak, gerekirse Ghost’un yapılandırma dosyasını manuel olarak düzenleyebilirsiniz. Bu dosya, Ghost kurulum dizininizin current klasöründe bulunur: /var/www/ghost/current/config.production.json.

sudo nano /var/www/ghost/current/config.production.json

Bu dosyada, url, server (port), database bağlantı bilgileri ve mail ayarları gibi önemli parametreler bulunur. Özellikle e-posta gönderme işlevselliği için mail bölümünü yapılandırmanız gerekebilir. Örneğin, bir SMTP hizmeti kullanmak için:

{
  "url": "https://yourdomain.com",
  "server": {
    "port": 2368,
    "host": "127.0.0.1"
  },
  "database": {
    "client": "mysql",
    "connection": {
      "host": "localhost",
      "user": "ghost_user",
      "password": "YOUR_STRONG_PASSWORD",
      "database": "ghost_db"
    }
  },
  "mail": {
    "transport": "SMTP",
    "options": {
      "service": "Mailgun", // veya "Gmail", "Outlook365" vb.
      "auth": {
        "user": "postmaster@mg.yourdomain.com",
        "pass": "YOUR_MAILGUN_API_KEY"
      }
    }
  },
  "logging": {
    "transports": [
      "file",
      "stdout"
    ]
  },
  "process": "systemd",
  "paths": {
    "contentPath": "/var/www/ghost/content"
  }
}

E-posta ayarlarını yapılandırdıktan sonra veya herhangi bir manuel değişiklik yaptıktan sonra Ghost’u yeniden başlatmanız gerekir:

cd /var/www/ghost
ghost restart

Ghost’u Sistem Servisi Olarak Çalıştırma

Ghost CLI, kurulum sırasında Ghost için otomatik olarak bir systemd servisi oluşturur. Bu, Ghost’un arka planda sürekli çalışmasını ve sunucu yeniden başlatıldığında otomatik olarak başlamasını sağlar.

Ghost CLI tarafından oluşturulan servis dosyasının adı genellikle ghost-yourdomain-com.service şeklindedir ve /lib/systemd/system/ dizininde bulunur.

# Ghost servisinin durumunu kontrol edin
sudo systemctl status ghost_yourdomain_com

Eğer servis çalışmıyorsa başlatın

sudo systemctl start ghost_yourdomain_com

Servisin sistem başlangıcında otomatik başlaması için etkinleştirin

sudo systemctl enable ghost_yourdomain_com

Ghost loglarını takip etmek için

journalctl -u ghost_yourdomain_com -f

ghost_yourdomain_com kısmını Ghost CLI’nın oluşturduğu servis adıyla değiştirmeyi unutmayın (genellikle alan adınızın tirelerle ayrılmış halidir, örn: ghost-blog-example-com).

Nginx ile SSL/TLS Yapılandırması (Let’s Encrypt)

ghost install komutu sırasında SSL kurulumunu seçtiyseniz, Ghost CLI bu adımı sizin için otomatik olarak halletmiş olmalıdır. Bu durumda, Let’s Encrypt sertifikaları alınmış ve Nginx yapılandırmanız HTTPS trafiğini yönetecek şekilde güncellenmiş olacaktır.

Eğer manuel olarak veya kurulum sırasında SSL’i atladıysanız, aşağıdaki adımları takip ederek Let’s Encrypt ile ücretsiz SSL sertifikaları alabilir ve Nginx’i yapılandırabilirsiniz.

Certbot Kurulumu

Certbot, Let’s Encrypt sertifikalarını kolayca almanızı ve yönetmenizi sağlayan bir araçtır.

# Certbot ve Nginx eklentisini kurun
sudo yum install certbot python2-certbot-nginx -y

SSL Sertifikası Alma

Certbot’u Nginx eklentisi ile çalıştırarak alan adınız için sertifika alabilirsiniz.

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Bu komut, Certbot’u çalıştıracak ve sizden e-posta adresinizi (acil durum bildirimleri için) ve Let’s Encrypt hizmet şartlarını kabul etmenizi isteyecektir. Ayrıca HTTP trafiğini HTTPS’ye yönlendirmek isteyip istemediğinizi soracaktır; genellikle bu seçeneği (2: Redirect) seçmek iyi bir uygulamadır.

Certbot, Nginx yapılandırma dosyanızı otomatik olarak güncelleyecek ve SSL sertifikalarını yükleyecektir.

Otomatik Yenilemeyi Ayarlama

Let’s Encrypt sertifikaları 90 gün geçerlidir. Certbot, bu sertifikaları otomatik olarak yenilemek için bir cron job veya systemd timer oluşturur. Yenilemenin düzgün çalıştığını doğrulamak için kuru çalıştırma yapabilirsiniz:

sudo certbot renew --dry-run

Eğer herhangi bir hata almazsanız, otomatik yenileme düzgün çalışıyor demektir.

Nginx Sanal Host Dosyasını İnceleme

Certbot’un Nginx yapılandırmanızı nasıl güncellediğini görmek için /etc/nginx/conf.d/yourdomain.com.conf dosyasını inceleyebilirsiniz. Artık hem 80 hem de 443 portlarını dinleyen iki server bloğuna sahip olmalı veya 80 portundan 443’e yönlendirme yapan bir yapıya sahip olmalıdır.

# Örnek Certbot tarafından güncellenmiş Nginx yapılandırması
server {
    listen 80;
    listen [::]:80;
    server_name yourdomain.com www.yourdomain.com;

    # HTTP'den HTTPS'ye yönlendirme (Certbot tarafından eklenir)
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name yourdomain.com www.yourdomain.com;

    root /var/www/ghost;

    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_pass http://127.0.0.1:2368;
    }

    location ~ /.well-known {
        allow all;
    }
}

Yapılandırmayı kontrol edin ve Nginx’i yeniden yükleyin:

sudo nginx -t
sudo systemctl reload nginx

Ghost Yönetim Paneline Erişim

Tüm kurulum ve yapılandırma adımları tamamlandıktan sonra Ghost blogunuza web tarayıcınızdan erişebilirsiniz.

Tarayıcınızı açın ve blogunuzun URL’sine /ghost ekleyerek yönetim paneline gidin:

https://yourdomain.com/ghost

Bu, sizi Ghost’un ilk kurulum sayfasına yönlendirecektir. Burada:

1. Create your account: Blogunuzun sahibi (owner) için bir hesap oluşturmanız istenir. E-posta adresinizi, adınızı ve güçlü bir parola girin.
2. Invite your team: İsteğe bağlı olarak diğer yazarları veya editörleri davet edebilirsiniz. Bu adımı atlayıp daha sonra yönetim panelinden de yapabilirsiniz.
3. Explore your site: Hesabınızı oluşturduktan sonra Ghost yönetim paneline yönlendirileceksiniz. Buradan yazılarınızı oluşturabilir, temaları yönetebilir, ayarları yapılandırabilir ve blogunuzu özelleştirebilirsiniz.

Yönetim panelinde, içerik oluşturma, SEO ayarları, tema özelleştirme, navigasyon yönetimi ve daha fazlası gibi birçok seçenek bulacaksınız.

Sonuç

Bu makalede, Ghost blog platformunu CentOS 7 işletim sistemi üzerine kurma ve yapılandırma sürecini adım adım detaylı bir şekilde ele aldık. Node.js, MySQL ve Nginx gibi temel bağımlılıkların kurulumundan, Ghost CLI kullanarak blogun başlatılmasına ve Let’s Encrypt ile SSL/TLS güvenliğinin sağlanmasına kadar tüm önemli adımları tamamladık.

Artık CentOS 7 sunucunuzda çalışan, güvenli ve modern bir Ghost bloguna sahipsiniz. Blogunuzu özelleştirmek, içerik yayınlamak ve dünya ile paylaşmak için yönetim panelini keşfetmeye başlayabilirsiniz.

Unutmayın ki sunucu yönetimi sürekli bir süreçtir. Sistem güncellemelerini düzenli olarak yapmak, güvenlik duvarı kurallarını gözden geçirmek, veritabanı yedeklerini almak ve Ghost sürümünüzü güncel tutmak, blogunuzun sorunsuz ve güvenli bir şekilde çalışmaya devam etmesi için hayati önem taşır. Ghost CLI (ghost update) ve yum paket yöneticisi (sudo yum update) bu süreçlerde size yardımcı olacaktır.

Başarılı bir blogculuk deneyimi dileriz!

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version