CentOS 7にGhost(CMS)ブログ発行プラットフォームをインストールする方法


GhostはNodejsで書かれた無料の、オープンソースでシンプルでありながら強力なブログまたはオンライン出版ソフトウェアです。これは、オンライン出版物を簡単に作成して実行するために設計された最新の出版ツールのコレクションです。

  • Fast, scalable and efficient.
  • Offers a markdown based editing environment.
  • Comes with a desktop app.
  • Comes with beautiful handlebars templates.
  • Supports for simple content management.
  • Supports for multiples roles for authors, editors and administrators.
  • Allows scheduling content in advance.
  • Supports accelerated mobile Pages.
  • Fully supports search engine optimization.
  • Provides detailed structured data.
  • Supports subscriptions by RSS, Email and Slack.
  • Enables simple site editing and so much more.
  1. A CentOS 7 Server Minimal Install with 1GB Memory
  2. A CentOS 7 system with static IP address
  3. Node v6 LTS – Install Latest Node.js and NPM in CentOS 7
  4. A CentOS 7 server with Nginx installed

この記事では、CentOS 7システムにオープンソースの Ghost コンテンツ管理システム)ブログプラットフォームをインストールする方法について説明します。

ステップ1:CentOS 7へのNodejsのインストール

1. NodejsはCentOSのソフトウェアリポジトリでは利用できません。そのため、まずリポジトリを追加してから次のようにインストールします。

# curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
# yum -y install nodejs npm
# dnf -y install nodejs npm   [On Fedora 22+ versions]

2. nodejsをインストールしたら、コマンドを使用してNodejsとnpmの推奨バージョンがインストールされていることを確認できます。

# node -v 
# npm -v

ステップ2:CentOs 7にGhostをインストールする

3. アプリケーションファイルを保存するGhostルートディレクトリを/var/www/ghost に作成します。これは推奨されるインストール場所です。

# mkdir -p /var/www/ghost

4. 次に、GhostのGitHubリポジトリから Ghost の最新バージョンをダウンロードし、アーカイブファイルを先ほど作成したディレクトリに解凍します。

# curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip
# unzip -uo ghost.zip -d  /var/www/ghost

5. 今すぐ新しいゴーストディレクトリに移動し、次のコマンドを使用して Ghost (本番環境依存のみ)をインストールします。 2番目のコマンドが完了したら、Ghostがシステムにインストールされているはずです。

# cd /var/www/ghost 
# npm install --production

ステップ3:デフォルトのGhostブログを起動してアクセスする

6. Ghostを起動するには、/var/www/ghost ディレクトリから次のコマンドを実行します。

# npm start --production

7. デフォルトではGhostはポート 2368 で実行されているはずなので、アクセスを許可するにはファイアウォールでポートを開いてください。

# firewall-cmd --zone=public --permanent --add-port=2368/tcp
# firewall-cmd --reload

8. ウェブブラウザを開き、以下のいずれかのURLに移動します。

http://SERVER_IP:2368
OR
http://localhost:2368

ステップ4:Nginx for Ghostのインストールと設定

図のようにEPELリポジトリを使用してインストールされていない場合は、Nginx Webサーバーをインストールして起動します。

# yum install epel-release
# yum install nginx
# systemctl start nginx

ファイアウォールを実行している場合は、次のコマンドを使用してHTTPおよびHTTPSトラフィックへのアクセスを有効にします。

# firewall-cmd --permanent --zone=public --add-service=http 
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload

次のステップでは、ユーザーがURLの末尾にポート:2368 を追加しなくてもGhostブログにアクセスできるように、Nginxを設定してGhostブログをポート 80 にアクセスします。

まずターミナルで CTRL + C キーを押して、実行中のGhostインスタンスを停止します。

/etc/nginx/sites-available/ghost の下に新しいファイルを作成してNginxを設定します。

# vi /etc/nginx/sites-available/ghost

次の設定を追加し、強調表示されている次の行を必ず your_domain_or_ip_address に変更してください。

server {
    listen 80;
    server_name your_domain_or_ip_address;
    location / {
    proxy_set_header HOST $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass         http://127.0.0.1:2368;
    }
}

ファイルを保存し、/etc/nginx/sites-enabled ディレクトリの下にシンボリックリンクを作成してこの設定をアクティブにします。

# ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost

今すぐ /etc/nginx.conf ファイルを開きます。 sites-enabled ディレクトリに設定ファイルを含め、表示されているようにデフォルトサイトを無効にします。

# vi /etc/nginx/nginx.conf

http ブロック内に次の行を追加して、サイト対応ディレクトリに設定ファイルを含めます。

/etc/nginx/nginx.conf

http {
...
    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

次に、 http ブロック内にあるデフォルトのサーバーブロックを完全にコメントアウトします。

...

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;


#    server {
#       listen       80 default_server;
#       listen       [::]:80 default_server;
#       server_name  _;
#       root         /usr/share/nginx/html;
#
#       # Load configuration files for the default server block.
#       include /etc/nginx/default.d/*.conf;
#
#       location / {
#       }
#
#       error_page 404 /404.html;
#           location = /40x.html {
#       }
#
#       error_page 500 502 503 504 /50x.html;
#           location = /50x.html {
#       }
...
...

最後に、nginx Webサーバーを保存して再起動します。

# systemctl restart nginx

もう一度 http:// your_domain_or_ip_address にアクセスすると、Ghostブログが表示されます。

詳しくはGhostのホームページにアクセスしてください。https://ghost.org/

この記事では、CentOS 7にGhostをインストールして設定する方法を説明しました。下のコメントフォームを使って、あなたの質問やガイドに関する意見を送ってください。

大事なことを言い忘れましたが、次の投稿では、DebianとUbuntuでGhostを設定する方法を説明します。それまでは、Tecmint.comに接続したままにしてください。