開発運用

GhostとNginxでブログ構築

GhostとNginxを使ってUbuntuでブログを作成する方法について、以下に詳細な手順を説明します。これから紹介する内容は、GhostのインストールからNginxの設定、ブログの立ち上げに至るまでの完全なガイドです。基本的なコマンドの実行方法や設定ファイルの編集方法についても触れますので、初心者の方でも理解しやすい内容になっています。


1. はじめに

Ghostは、オープンソースのブログプラットフォームであり、簡単にコンテンツを公開できるツールです。Nginxは、高速で軽量なWebサーバーで、リバースプロキシとしても非常に効果的です。このチュートリアルでは、UbuntuサーバーにGhostとNginxをインストールし、ブログを作成するためのステップを解説します。

2. 必要な準備

Ubuntuサーバーを使用していることを前提としています。また、サーバーにrootアクセスできることが前提となります。作業を進める前に、以下の点を確認してください。

  • Ubuntu 20.04以上のインストール
  • rootまたはsudo権限を持つユーザーアカウント
  • インターネット接続があること

3. 必要なソフトウェアのインストール

Ghostのインストールには、Node.jsやMySQLなど、いくつかの依存ソフトウェアが必要です。これらをまずインストールします。

3.1 Node.jsのインストール

GhostはNode.jsで動作するため、まず最新のLTS版をインストールします。

bash
sudo apt update sudo apt install -y curl curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt install -y nodejs

3.2 MySQLのインストール

GhostはデフォルトでSQLiteを使用しますが、MySQLを使用する場合の設定も紹介します。

bash
sudo apt install -y mysql-server sudo mysql_secure_installation

MySQLのインストール後、Ghostのデータベースを作成します。

bash
sudo mysql -u root -p

MySQLコンソールに入ったら、以下のコマンドでデータベースを作成します。

sql
CREATE DATABASE ghost; GRANT ALL PRIVILEGES ON ghost.* TO 'ghost'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; EXIT;

3.3 Nginxのインストール

Nginxをインストールします。

bash
sudo apt install -y nginx

Nginxがインストールされたことを確認するために、ブラウザでサーバーのIPアドレスにアクセスします。デフォルトのNginxのウェルカムページが表示されれば成功です。

4. Ghostのインストール

次に、Ghostをインストールします。Ghostは、ghost-cliというツールを使って簡単にインストールできます。

4.1 ghost-cliのインストール

まず、npmを使ってghost-cliをインストールします。

bash
sudo npm install -g ghost-cli

4.2 Ghostのインストール

Ghostのインストール先ディレクトリを作成し、そこにGhostをインストールします。

bash
mkdir -p /var/www/ghost cd /var/www/ghost ghost install

インストール中に、いくつかの質問が表示されます。データベース(MySQL)を選択した場合は、MySQLの設定を入力します。その他、GhostのURLやメール設定などを求められますので、適切に設定してください。

インストールが完了すると、Ghostは自動的に起動します。

5. Nginxの設定

Ghostを外部からアクセス可能にするために、Nginxの設定を行います。Ghostはデフォルトでポート2368で動作していますので、Nginxを使ってリバースプロキシを設定します。

5.1 Nginx設定ファイルの作成

まず、Nginxの設定ファイルを作成します。

bash
sudo nano /etc/nginx/sites-available/ghost

以下の内容を設定ファイルに入力します。

nginx
server { listen 80; server_name example.com; # あなたのドメイン名に変更 location / { proxy_pass http://127.0.0.1:2368; # Ghostのポート proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }

5.2 設定ファイルの有効化

次に、作成した設定ファイルを有効化します。

bash
sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/

5.3 Nginxの設定テストと再起動

設定ファイルにエラーがないかをテストし、問題なければNginxを再起動します。

bash
sudo nginx -t sudo systemctl restart nginx

6. Ghostの設定確認

ブラウザで、設定したドメイン名(例: http://example.com)にアクセスします。正常に設定が完了していれば、Ghostのブログが表示されるはずです。

7. SSLの設定(Optional)

もしSSL証明書を使用する場合は、Let’s Encryptを利用して無料でSSL証明書を取得できます。

7.1 Certbotのインストール

bash
sudo apt install -y certbot python3-certbot-nginx

7.2 SSL証明書の取得

bash
sudo certbot --nginx -d example.com

証明書が取得されると、Nginxの設定が自動的に更新され、SSL接続が有効になります。

8. 自動起動の設定

Ghostを自動的に起動するように設定します。

bash
sudo systemctl enable ghost_ghost

これで、サーバーが再起動してもGhostが自動的に起動します。

9. 結論

以上で、UbuntuサーバーにGhostとNginxを使ってブログをセットアップする手順は完了です。これで、コンテンツの作成と公開が可能になり、Nginxを使って高パフォーマンスでアクセスできます。SSLを設定することで、セキュリティも強化されます。

もし問題が発生した場合は、ログファイルを確認し、エラーメッセージに従って修正してください。

Back to top button