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

HOME'; $txt2 = '
  • サーバサービス
  • '; $txt3 = '
  • サポート
  • '; $txt4 = '
  • ホームページ制作
  • '; $txt5 = '
  • 技術情報
  • '; if($dir == "") $txt1 = ''; if($dir == "server_service") $txt2 = ''; if($dir == "support") $txt3 = ''; if($dir == "hp_service") $txt4 = ''; if($dir == "technology") $txt5 = ''; ?>

    [技術ブログ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