31/12/2016 · ghost Node.js nvm npm blog

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.