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版をインストールします。
bashsudo 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を使用する場合の設定も紹介します。
bashsudo apt install -y mysql-server sudo mysql_secure_installation
MySQLのインストール後、Ghostのデータベースを作成します。
bashsudo mysql -u root -p
MySQLコンソールに入ったら、以下のコマンドでデータベースを作成します。
sqlCREATE DATABASE ghost;
GRANT ALL PRIVILEGES ON ghost.* TO 'ghost'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;
3.3 Nginxのインストール
Nginxをインストールします。
bashsudo apt install -y nginx
Nginxがインストールされたことを確認するために、ブラウザでサーバーのIPアドレスにアクセスします。デフォルトのNginxのウェルカムページが表示されれば成功です。
4. Ghostのインストール
次に、Ghostをインストールします。Ghostは、ghost-cliというツールを使って簡単にインストールできます。
4.1 ghost-cliのインストール
まず、npmを使ってghost-cliをインストールします。
bashsudo npm install -g ghost-cli
4.2 Ghostのインストール
Ghostのインストール先ディレクトリを作成し、そこにGhostをインストールします。
bashmkdir -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の設定ファイルを作成します。
bashsudo nano /etc/nginx/sites-available/ghost
以下の内容を設定ファイルに入力します。
nginxserver {
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 設定ファイルの有効化
次に、作成した設定ファイルを有効化します。
bashsudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/
5.3 Nginxの設定テストと再起動
設定ファイルにエラーがないかをテストし、問題なければNginxを再起動します。
bashsudo nginx -t sudo systemctl restart nginx
6. Ghostの設定確認
ブラウザで、設定したドメイン名(例: http://example.com)にアクセスします。正常に設定が完了していれば、Ghostのブログが表示されるはずです。
7. SSLの設定(Optional)
もしSSL証明書を使用する場合は、Let’s Encryptを利用して無料でSSL証明書を取得できます。
7.1 Certbotのインストール
bashsudo apt install -y certbot python3-certbot-nginx
7.2 SSL証明書の取得
bashsudo certbot --nginx -d example.com
証明書が取得されると、Nginxの設定が自動的に更新され、SSL接続が有効になります。
8. 自動起動の設定
Ghostを自動的に起動するように設定します。
bashsudo systemctl enable ghost_ghost
これで、サーバーが再起動してもGhostが自動的に起動します。
9. 結論
以上で、UbuntuサーバーにGhostとNginxを使ってブログをセットアップする手順は完了です。これで、コンテンツの作成と公開が可能になり、Nginxを使って高パフォーマンスでアクセスできます。SSLを設定することで、セキュリティも強化されます。
もし問題が発生した場合は、ログファイルを確認し、エラーメッセージに従って修正してください。
