24時間365日フルマネージドホスティングサービスのデイーネット

[技術ブログvol.24] GHOSTをインストールしてみた。

Ghostとは

WordPressとは雰囲気が異なったjavascript ベースのCMSです。

http://docs.ghost.org/ja/

今回構築した環境

  • CentOS 7.0
  • Apache 2.4.6
  • Node.js 0.10.36
  • npm 1.4.28

Node.js、npmのインストール手順

必要なアプリケーションを導入

# yum -y install gcc unzip httpd

SELinuxを確認

# getenforce
Enforcing

GHOSTの動作を確認したいので、有効になっていた場合無効にしておく。

# setenforce 0

FWも邪魔なので停止(AWSのSecurityGroupを使います)

# systemctl stop firewalld

node.jsのデータを取得

# curl -sL https://rpm.nodesource.com/setup | bash -

node.jsのインストール

# yum -y install nodejs

バージョン確認

・Node.js

# node -v
v0.10.36

・npm

# npm -v
1.4.28

GHOSTの導入

適宜GHOSTを解凍する場所へ移動

# cd /usr/local/src

最新のGHOSTを入手

# curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip

入手したzipを解凍

# unzip -uo ghost.zip -d ghost

解凍したghostのディレクトリへ移動

# cd ./ghost

GHOSTをインストール

# npm install --production

config.jsを編集
(サーバIPのところに2368ポートでLISTENしたいIPを、Your Domainにドメイン名を記載する。)

# cp -p config.example.js config.js
# vi config.js

12 production: {
13 url: 'http://Your Domain',
14 mail: {},
15 database: {
16 client: 'sqlite3',
17 connection: {
18 filename: path.join(__dirname, '/content/data/ghost.db')
19 },
20 debug: false
21 },
22
23 server: {
24 // Host to be passed to node's `net.Server#listen()`
25 host: 'サーバIP',
26 // Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT`
27 port: '2368'
28 }
29 }
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59 server: {
60 // Host to be passed to node's `net.Server#listen()`
61 host: '172.16.30.106',
62 // Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT`
63 port: '2368'
64 },

GHOSTを起動

# nmp start

アクセス

http://Your Domain:2368

Apacheの設定

GHOSTファイルの移動(DocumentRootにする予定のディレクトリへ移動させる)

mv /usr/local/src/ghost /var/www/

Foreverを導入
(GHOSTはSSHでログアウトしたりするとWebサーバが停止するので、バックグラウンドで動かす「Forever」コマンドを使います。)

# npm install forever -g

GHOSTの起動

# NODE_ENV=production forever start index.js

(GHOSTを停止させる場合)

# forever stop index.js

Apacheにバーチャルホストの設定を導入

<VirtualHost *:80>
ServerName Your Domain
ServerAlias www.Your Domain
ServerAdmin root@localhost
DocumentRoot /var/www/ghost
ErrorLog logs/error_log
CustomLog logs/access_log common

ProxyPass / http://サーバIP:2368/
ProxyPassReverse / http://サーバIP:2368/
ProxyPreserveHost on
</VirtualHost>

Apacheの起動

# systemctl start httpd

設定ページで設定

http://Your Domain/ghost/setup/

ghost_0.png

設定完了

ghost_3.png

所感

glibcのバージョンがある程度ないと導入できないようです。
うまく導入できない場合はglibcのアップデートを行うとインストールができるかもしれません。

技術ブログ中の人

機能などは時間がなかったため未検証ですが、今後紹介する・・・かも。

  • このページの先頭へ

  • 東京本社
    〒105-0001東京都港区虎ノ門2-3-22 第一秋山ビル5F
    TEL:03-3591-8887 FAX:03-3591-8886
  • 大阪本社
    〒541-0041 大阪市中央区北浜2-6-11北浜エクセルビル5F
    TEL:06-6231-8887 FAX:06-6231-8897

  • 認証範囲はこちらをご覧ください。

Denet logo

クラウドサービス・データセンタ・高機能専有サーバ・共有サーバホスティングサービス 株式会社ディーネット
dot_bar