ウェブサイト検索

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


Ghostは、Nodejsで書かれた無料のオープンソースでシンプルながら強力なブログまたはオンライン出版ソフトウェアです。これは、オンライン出版を簡単に構築し運営するために設計された現代の出版ツールのコレクションです。

ゴースト機能:

  • 迅速でスケーラブルで効率的です。
  • マークダウンベースの編集環境を提供します。
  • デスクトップアプリが付属しています。
  • 美しいハンドルバーのテンプレートが付いています。
  • シンプルなコンテンツ管理のサポート。
  • 著者、編集者、管理者のための複数の役割をサポートします。
  • コンテンツを事前にスケジュールすることができます。
  • モバイルページの高速化をサポートしています。
  • 完全に検索エンジン最適化をサポートしています。
  • 詳細な構造化データを提供します。
  • RSS、メール、Slackによるサブスクリプションをサポートしています。
  • 簡単なサイト編集が可能で、それ以上のことも行えます。

要件:

  1. 1GBメモリを搭載したCentOS 7サーバーミニマルインストール
  2. 静的IPアドレスを持つCentOS 7システム
  3. Node v6 LTS – CentOS 7に最新のNode.jsとNPMをインストールする
  4. NginxがインストールされたCentOS 7サーバー

重要: Ghostのインストールを自分で始める前に、良好なVPSホスティングが必要です。私たちはBlueHostを強くお勧めします。

この記事では、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ディレクトリに移動し、次のコマンドを使って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

注意: Ghostを初めて実行した後、config.jsというファイルがGhostのルートディレクトリに作成されます。これを使用して、Ghostの環境レベル設定を行うことができます。サイトのURL、データベース、メール設定などのオプションを構成できます。

ステップ4: GhostのためにNginxをインストールして構成する

EPELリポジトリを使用して、インストールされていない場合はNginxウェブサーバーをインストールして起動します。

# 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

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

まず、ターミナルで 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

次に、sites-enabled ディレクトリ内の設定ファイルを含めるために、http ブロック内に次の行を追加します。

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ウェブサーバーを保存して再起動します。

# systemctl restart nginx

もう一度、http://your_domain_or_ip_addressを訪問すると、あなたのGhostブログを見ることができます。

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

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

最後になりますが、次回の記事では、Debian と Ubuntu に Ghost をセットアップする方法をご紹介します。それまで、linux-console.net に接続を保ってください。

関連記事: