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/
設定完了
所感
glibcのバージョンがある程度ないと導入できないようです。
うまく導入できない場合はglibcのアップデートを行うとインストールができるかもしれません。
機能などは時間がなかったため未検証ですが、今後紹介する・・・かも。