Ghostは、特にブログやプロフェッショナルなウェブサイトの公開に適した強力なオープンソースのプラットフォームです。HetznerのようなVPS上にGhostをセルフホストすることで、アプリケーションやホスティング環境に対するより大きなコントロールが可能になります。このガイドでは、HetznerのVPSにGhostをセットアップする手順を詳しく解説します。
Hetznerを選ぶ理由
インストールに入る前に、HetznerがあなたのGhostホスティングニーズに適している理由を簡単に見ていきましょう。
| プロバイダー | 価格(EUR/月) | RAM | ディスク容量 | 地域 |
|---|---|---|---|---|
| Hetzner Cloud | 4.15 | 2GB | 20GB | ドイツ、フィンランド |
| Contabo VPS | 5.99 | 4GB | 400GB | ドイツ |
| DigitalOcean | 6.00 | 1GB | 25GB | グローバル |
| Vultr | 6.00 | 1GB | 25GB | グローバル |
| Linode | 5.00 | 2GB | 50GB | グローバル |
表に示されている通り、Hetznerは競争力のある価格と良好な仕様を提供しており、セルフホスト型のアプリケーションにとってコスト効率の高い選択肢です。
はじめに
必要な準備
-
Hetzner VPS: Hetznerアカウントを作成し、VPSインスタンスを立ち上げます。基本的な用途には4.15 EUR/月のプランで十分です。
-
ドメイン: 独自ドメインでGhostブログを公開したい場合は、ドメイン名を購入してください。
-
基本知識: Linuxコマンドライン、SSH、Gitの基本的な理解が推奨されます。
ステップ1:VPSを作成する
- Hetzner Cloudコンソールにログイン。
- 新しいプロジェクトを作成し、適切なVPS構成を選択します。
- Ghostにより良く対応できるように、Ubuntu 20.04または22.04 LTSを選択します。
- SSHアクセスの資格情報をメモしておきましょう。
ステップ2:VPSにアクセスする
ターミナルを使って、SSH経由でVPSに接続します。
ssh root@your_vps_ip
ステップ3:システムの更新と依存関係のインストール
Ghostをインストールする前に、システムを更新し必要なパッケージをインストールします。
sudo apt update && sudo apt upgrade -y
sudo apt install nginx mysql-server curl -y
GhostにはNode.jsとnpmが必要なので、こちらもインストールします。
Node.jsのインストール
NodeSourceリポジトリを追加し、Node.js(Ghostには推奨のバージョン16.x)をインストールします。
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install nodejs -y
Ghost CLIのインストール
次に、Ghost CLIをグローバルにインストールします。
sudo npm install -g ghost-cli
ステップ4:MySQLの設定
次に、MySQLをセットアップします。
-
MySQLにログイン:
sudo mysql -u root -p -
データベースとユーザーの作成:
CREATE DATABASE ghostdb; CREATE USER 'ghostuser'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON ghostdb.* TO 'ghostuser'@'localhost'; FLUSH PRIVILEGES; EXIT;
ステップ5:Ghostをインストール
- Ghost用のディレクトリを作成し、そのディレクトリに移動します。
mkdir -p /var/www/ghost
cd /var/www/ghost
- Ghostをインストールします。
ghost install
インストール中に、ドメイン名やデータベースの認証情報などを求められます。指示に従って進めてください。
ステップ6:Nginxの設定
Ghostのインストール後、Nginxの設定を調整してブログを公開できるようにします。
- サーバーブロックを作成します。
sudo nano /etc/nginx/sites-available/ghost
- 次の設定を追加します。
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://localhost:2368;
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;
}
}
- 設定を有効化します。
sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
ステップ7:Ghostブログにアクセス
ウェブブラウザを開き、http://your_domain.com にアクセスします。画面の指示に従ってGhostの設定を完了させてください。
よくある質問(FAQs)
Ghostインスタンスのセキュリティを強化するには?
Ghostブログを保護するために、Let’s Encryptを使ったSSLの有効化を検討しましょう。追加のインストールが必要ですが、Ghost CLIはインストール時に自動でSSL設定をサポートします。ghost installコマンドの途中で指示に従い、SSLを設定してください。
HetznerのVPSのトラフィック増加に対応できますか?
はい、Hetznerはサーバーのリソースアップグレードを容易に行えます。トラフィックが増えたら、Hetzner CloudコンソールからVPSプランをスケールアップし、メモリやCPUを増強できます。スケーリングの詳細については、この完全なVPS比較も参考にしてください。
インストール中に問題が発生した場合はどうすればいいですか?
Ghostのインストール中に問題が発生した場合は、Ghostのドキュメントを参照してトラブルシューティングを行ってください。一般的なインストールの問題と解決策が詳しく解説されています。また、r/selfhostedのコミュニティも有益なリソースです。特定の問題について検索または投稿してサポートを求めてください。
このガイドに従えば、HetznerのVPS上で稼働するフル機能のGhostブログを手に入れることができるでしょう。ハッピーブロギング!