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!
