Ghost Kurulumu
Ghost Blog Kurulumu
Ghost Node.js ile yazılmış sunucu tarafında çalışan bir uygulamadır. Paylaşımlı sunuculara yüklemeniz pek mümkün değildir.
Biz ghost'u centos7 üzerine yapılandıracağız. Bunun için önce Node.js'yi sunucuya yüklemeliyiz.
Ghost Node.js'in belli sürümlerinde çalışmaktadır. Sağlıklı çalıştığı sürümlere buradan bakabilirsiniz. Ghost'un sitesinde önerildiği gibi bizde Node v4.x sürümünü kullanacağız.
Node.js'in istediğim sürümünü kurmak centos7 de beni çok uğraştırdı.
Neyseki Node Version Manager'ı buldum. Bunu yükledikten sonra dilediğiniz Node.js sürümünü kullanabilirsiniz.
NVM Kurulumu
Aşağıdaki script ile nvm kurulumu gerçekleştirebilirsiniz.
sudo curl https://raw.githubusercontent.com/creationix/nvm/v0.25.0/install.sh | bash
sudo source /root/.bashrc
Sürüm kontrolü için nvm --version
komutunu kullanabilirsiniz.
[[email protected] ~]# nvm --version
0.25.0
Sunucumuza yükleyebileceğimiz Node.js versiyonlarını nvm ls-remote
komutu ile listeleyebiliriz.
Node.js Kurulumu
Node version manager'ı kurduğumuz için Node.js'i kurmamız çok kolay olacak.
sudo nvm install v4.7.0
Node.js kuruldu ve artık kullanıma hazır.
[[email protected] ~]# nvm install v4.7.0
######################################################################## 100.0%
Checksums empty
Now using node v4.7.0 (npm v2.15.11)
Dikkat ettiyseniz Node.js'in paket yönetim aracı olan npm
de Node.js ile birlikte otomatik olarak kuruldu. node -v
komutu ile yüklenen Node.js sürümünü kontrol edebilirsiniz.
Sunucunuzda uznip, nano ve wget yüklü değil ise lütfen yükleyelim.
sudo yum -y install wget unzip nano
Node.js hazır olduğuna göre /opt/blog
diznini oluşturup ghost için gerekli dosyaları indirelim.
sudo mkdir -p /opt/blog/
cd /opt/blog/
sudo wget https://ghost.org/zip/ghost-latest.zip
Ghost dosyalarını arşivden çıkaralım.
sudo unzip ghost-latest.zip
Gereksiz dosyaları silelim.
sudo rm ghost-latest.zip
Daha sonra /opt/blog
dizinine geçiş yapıyoruz.
cd /opt/blog/
Dosyalar aşağıdaki gibi olmalıdır.
[[email protected] blog]# ls -l
total 228
-rw-r--r--. 1 root root 4511 Nov 1 17:35 config.example.js
drwxr-xr-x. 6 root root 54 Nov 2 09:03 content
drwxr-xr-x. 5 root root 59 Nov 2 09:03 core
-rw-r--r--. 1 root root 31937 Nov 1 17:35 Gruntfile.js
-rw-r--r--. 1 root root 725 Nov 1 17:35 index.js
-rw-r--r--. 1 root root 1065 Nov 1 17:35 LICENSE
-rw-r--r--. 1 root root 166948 Nov 2 09:02 npm-shrinkwrap.json
-rw-r--r--. 1 root root 3047 Nov 2 09:00 package.json
-rw-r--r--. 1 root root 2942 Nov 1 17:35 PRIVACY.md
-rw-r--r--. 1 root root 4710 Nov 1 17:35 README.md
Örnek config.example.js
ghost konfigürasyon dosyasının adını değiştirip içindeki sunucu ip adresini 127.0.0.1
ip-adresiniz
ile değiştirin.
mv config.example.js config.js
Önceki
server: {
host: '127.0.0.1',
port: '2368'
}
Sonraki
server: {
host: 'ip-adresiniz',
port: '2368'
}
Gost'un çalışması için gerekli Node.js paketlerini yükleyelim.
sudo npm install --production
Ghost'u başlatalım.
npm start --production
Tarayıcımızı açıp ghost çalıyor mu kontrol edelim.
http://sunucu-ip-adresiniz:2368/
Sayfa gelmedi mi endişelenmeyin gerekli portu açmadık herzamanki gibi. Firewall'dan 2368
portunu açalım.
firewall-cmd --permanent --zone=public --add-port=2368/tcp
service firewalld reload
Şimdi tekrar deneyelim.
Gördüğünüz gibi artık ghost çalışıyor.
http://ip-adresiniz:2368/ghost adresinden yönetim paneline giriş yapabilirsiniz.
config.js dosyasından veritabanı, mail ve dns ayarları gibi ghost ile ilgili diğer ayarları düzenleyebilirsiniz.
SSH oturumunu kapattığınızda yada CTRL + C ile çıkış yaptığınızda ghost duracaktır.
Daha sonra ghost'un tablolarını sqlite3'ten mysql'e taşıma, mail ayarları, ön kısmında nginx kullanma, let's encrypt ile ssl özelliği kazandırma gibi konularda yazılar yazmayı düşünüyorum.
Sorularınız için yorum kısmını kullanabilirsiniz.
Başka bir makalede görüşmek üzere.
Ghost http://ghost.org ↩
Node.js https://nodejs.org/ ↩