最終更新日: 2025年10月24日
テンプレート説明
Ghost CMSは、プロフェッショナルな出版とコンテンツ配信を目的として設計されたオープンソースのコンテンツ管理システムです。Node.js上で動作し、美しいエディタ体験、ニュースレター配信機能、メンバーシップ管理、Stripe連携による課金システムを標準搭載しています。ブログ運営者、ジャーナリスト、クリエイター向けに最適化されており、高速なパフォーマンスとシンプルな操作性を両立しています。
本テンプレートでは、インストール完了後に自動的にGhostサービスが起動し、すぐにアクセス可能な状態となります。100年間有効な自己署名SSL証明書が自動生成され、HTTPS接続が標準で利用できます。
重要
本テンプレートでは、メール送信機能が初期状態で設定されていません。そのため、Ghost管理画面へのログイン時に通常必要となる「スタッフデバイス検証」機能は無効化されています。プロダクション環境では、MailgunやSendGrid等のSMTPサービスを設定することを強く推奨します。
スタートアップスクリプトのテンプレートを利用してサーバー作成を行う手順はご利用ガイドを参照してください。
仕様
対応OSイメージ
Ubuntu 24.04 LTS
主要ソフトウェア
| ソフトウェア名 | バージョン | ライセンス | 用途 |
|---|---|---|---|
| Ghost CMS | Latest (6.x) | MIT License | コンテンツ管理システム本体 |
| Node.js | 22.x LTS | MIT License | JavaScriptランタイム環境 |
| MariaDB | Latest | GPL v2 | データベース管理システム |
| Nginx | Latest | BSD-2-Clause | Webサーバー・リバースプロキシ |
| Certbot | Latest | Apache 2.0 | Let’s Encrypt SSL証明書管理 |
| Ghost-CLI | Latest | MIT License | Ghost管理コマンドラインツール |
スタートアップスクリプト情報
| 項目 | 説明 |
|---|---|
| アプリケーション利用ポート | 80/tcp (HTTP), 443/tcp (HTTPS), 2368/tcp (Ghost内部) |
| インストールディレクトリ | /var/www/ghost |
| 管理スクリプト | /root/ghost-*.sh |
| 初期状態 | サービス起動中(自動起動設定済み) |
| SSL証明書 | /etc/ssl/ghost/ (自己署名、100年有効) |
| 設定ファイル | /var/www/ghost/config.production.json |
その他
最小システム要件
- CPU: 1コア以上
- メモリ: 最小1GB、推奨2GB以上
- ディスク容量: 20GB以上のSSDストレージ推奨
- ネットワーク: パブリックIPアドレス
メモ
Ghost CMSは、トラフィック量やインストールするテーマ・プラグインによってメモリ使用量が変動します。本番運用では2GB以上のメモリを推奨します。大規模サイトや高トラフィック環境では、4GB以上のメモリとCDN連携を検討してください。
主要な機能
- Markdown対応の高度なエディタ
- ニュースレター配信機能(メール設定後)
- メンバーシップ・サブスクリプション管理
- Stripe決済連携
- テーマカスタマイズ機能
- Content API(ヘッドレスCMS対応)
- SEO最適化機能
利用手順
メモ
スタートアップスクリプトにてアプリケーションのインストールが完了するまで数分かかります。
インストール完了後、rootディレクトリに「dify-ghost.txt」というファイルが作成されますのでご確認ください。
ファイルが存在しない場合、作成されるまでしばらくお待ちください。
重要
本テンプレートでは、インストール完了後にGhost CMSが自動的に起動します。HTTPS接続用の自己署名SSL証明書(100年有効)が事前に生成されているため、ブラウザで証明書警告が表示されますが、セキュアな接続が確立されています。
Step 0: セキュリティグループについて
ConoHa VPS(Ver.3.0)ではサーバー毎にIPアドレスまたはポートでトラフィックを制御するセキュリティグループ(仮想ファイアウォール)が設定されます。
本テンプレートをご利用の場合は、予め利用するポートの通信許可設定が必要です。
詳細はセキュリティグループを参照してください。
Step 1: VPSへの接続
ConoHa VPSのコントロールパネルからVPSの情報を確認し、SSH で接続します。
鍵認証でのSSH接続コマンド例
# ssh -i 秘密鍵ファイルのパス root@VPSのグローバルIPアドレス
Step 2: インストール情報の確認
インストール完了後、アクセス情報が記載されたファイルを確認します。
# cat /root/ghost-info.txt
このファイルには以下の情報が記載されています:
- アクセスURL(管理画面・ブログURL)
- データベース認証情報
- SSL証明書の配置場所
- 管理スクリプトの使用方法
Step 3: 管理者アカウントの作成
ブラウザでGhost管理画面にアクセスします。
https://your-domain/ghost
メモ
自己署名証明書を使用しているため、ブラウザに「この接続ではプライバシーが保護されません」という警告が表示されます。「詳細設定」→「(サイトに)アクセスする」をクリックして進んでください。本番運用時にはLet’s Encrypt証明書への切り替えを推奨します。
初回アクセス時に以下の情報を入力して管理者アカウントを作成します:
- サイトタイトル
- 管理者名
- メールアドレス
- パスワード
重要
本テンプレートではスタッフデバイス検証機能が無効化されています。これは、初期状態でメール送信機能が設定されていないためです。セキュリティ強化のため、本番運用前にMailgun、SendGrid、またはSMTPサーバーを設定し、メール機能を有効化することを強く推奨します。
Step 4: サイト設定の確認
管理画面から基本設定を行います:
- 「Settings」→「General」でサイト情報を設定
- タイムゾーンを「Asia/Tokyo」に変更
- 言語設定を確認(必要に応じて日本語化)
- サイトのメタ情報(説明文、SNSアカウント等)を設定
Step 5: Let’s Encrypt証明書の設定(推奨)
本番環境では、自己署名証明書からLet’s Encrypt証明書に切り替えることを推奨します。
メモ
Let’s Encrypt証明書を取得するには、ドメイン名が正しくVPSのIPアドレスに向いている必要があります。DNSレコード(Aレコード)の設定を事前に完了してください。
Let’s Encrypt証明書の設定(下記コマンドの「[email protected]」は自身のメールアドレスに置き換えてください。):
# /root/ghost-letsencrypt.sh -e [email protected]
このスクリプトは以下の処理を自動実行します:
- DNS設定の確認
- Let’s Encrypt証明書の取得
- Nginx設定の更新
- Ghostサービスの再起動
- 証明書の自動更新設定
Step 6: ドメイン変更(オプション)
インストール後にドメイン名を変更する場合は、専用スクリプトを使用します。下記コマンドの「your-domain.com」は自身の独自ドメインに置き換えてください。
# /root/ghost-change-domain.sh -d your-domain.com
このスクリプトは以下の処理を実行します:
- ホスト名の更新
- Ghost設定ファイルのURL変更
- SSL証明書の再生成
- Nginx設定の更新
- サービスの再起動
Step 7: メール設定(推奨)
ニュースレター配信やメンバー管理機能を利用するには、メール送信設定が必要です。具体的な設定方法については公式ドキュメントを参照してください。
設定ファイルの編集例:
# cd /var/www/ghost
# sudo -u ghostadmin ghost config set mail.transport SMTP
# sudo -u ghostadmin ghost config set mail.options.service Mailgun
# sudo -u ghostadmin ghost config set mail.options.auth.user your-mailgun-user
# sudo -u ghostadmin ghost config set mail.options.auth.pass your-mailgun-password
設定完了後、Ghostを再起動します:
# sudo -u ghostadmin ghost restart
メモ
メール設定完了後、スタッフデバイス検証機能を有効化することでセキュリティを強化できます。設定方法については公式ドキュメントを参照してください。
Step 8: システム診断
Ghostが正常に動作しているか確認します。
# /root/ghost-diagnose.sh
このスクリプトは以下の情報を表示します:
- ドメイン名とパブリックIP
- Ghostサービスのステータス
- Nginx、MariaDBのステータス
- ポート使用状況
- 最近のログ(直近10行)
管理スクリプト一覧
| スクリプト名 | 機能 | 使用例 |
|---|---|---|
| ghost-letsencrypt.sh | Let’s Encrypt SSL証明書の設定 | # /root/ghost-letsencrypt.sh -e [email protected] |
| ghost-change-domain.sh | ドメイン名の変更 | # /root/ghost-change-domain.sh -d your-domain.com |
| ghost-diagnose.sh | システム診断・ステータス確認 | # /root/ghost-diagnose.sh |
Ghost-CLIコマンド
Ghost CMSは専用のコマンドラインツールで管理できます:
# cd /var/www/ghost
# sudo -u ghostadmin ghost status # ステータス確認
# sudo -u ghostadmin ghost restart # 再起動
# sudo -u ghostadmin ghost stop # 停止
# sudo -u ghostadmin ghost start # 起動
# sudo -u ghostadmin ghost log # ログ表示
セキュリティグループ設定
ConoHa VPSのセキュリティグループで以下のポートを開放してください:
| ポート番号 | プロトコル | 用途 | 必須/オプション |
|---|---|---|---|
| 22 | TCP | SSH | 任意 |
| 80 | TCP | HTTP(HTTPS自動リダイレクト) | 必須 |
| 443 | TCP | HTTPS | 必須 |
セキュリティ重要
ポート2368はGhostの内部ポートです。Nginxがリバースプロキシとして機能するため、外部からの直接アクセスは不要です。セキュリティグループでポート2368を開放しないでください。
バックアップ推奨事項
定期的なバックアップを設定することを強く推奨します:
- コンテンツのエクスポート: Ghost管理画面の「Settings」→「Advanced」→「Import/Export」からJSON形式でエクスポート
- データベースバックアップ例:
# mysqldump -u ghost_db -p ghost_prod > backup_$(date +%Y%m%d).sql - テーマ・画像のバックアップ例:
# tar -czf ghost-content-backup.tar.gz /var/www/ghost/content/
アプリケーションの具体的な利用方法につきましては、サービス開発元やサービス提供元の公式サイト、Wikiなどで最新情報をご確認ください。
外部リンク
| サイト名 | URL | 説明 |
|---|---|---|
| Ghost公式サイト | https://ghost.org/ | Ghost CMS公式サイト・製品情報 |
| Ghost公式ドキュメント | https://ghost.org/docs/ | セットアップガイド・API仕様 |
| Ghost-CLI Documentation | https://ghost.org/docs/ghost-cli/ | コマンドラインツールの詳細 |
| GhostのGitHubリポジトリ | https://github.com/TryGhost/Ghost | ソースコード・イシュートラッカー |
| Ghost Forum | https://forum.ghost.org/ | コミュニティフォーラム・サポート |
| Ghost Theme Marketplace | https://ghost.org/themes/ | 公式・サードパーティテーマ |