最終更新日: 2025年11月6日
テンプレート説明
Strapiは、REST APIおよびGraphQL APIを提供するオープンソースヘッドレスCMSです。コンテンツタイプの柔軟な定義、直感的な管理パネル、およびAPI自動生成機能を通じて、開発者がAPIベースのコンテンツ管理システムを効率的に構築できます。
本テンプレートはインストール完了後もStrapiサービスは停止状態を維持します。これにより、管理者アカウント作成前の不正アクセスを防止し、セキュアな初期セットアップを実現します。
メモ
Strapiはヘッドレスアーキテクチャを採用しており、フロントエンドとバックエンドを完全に分離します。RESTまたはGraphQL APIを通じて、React、Vue.js、Next.jsなど任意のフロントエンドフレームワークと連携可能です。
仕様
対応OSイメージ
Ubuntu 24.04 LTS
主要ソフトウェア
| ソフトウェア名 | バージョン | ライセンス | 用途 |
|---|---|---|---|
| Strapi | latest | MIT License | ヘッドレスCMS(コンテンツ管理・API提供) |
| Node.js | 22 | MIT License | JavaScriptランタイム環境 |
| PostgreSQL | 16 | PostgreSQL License | リレーショナルデータベース |
| Nginx | Latest | BSD-2-Clause | Webサーバー・リバースプロキシ |
| PM2 | Latest | AGPL-3.0 | Node.jsプロセスマネージャー |
| Yarn | Latest | BSD-2-Clause | パッケージマネージャー |
| Let’s Encrypt | Latest | MPL 2.0 | SSL/TLS証明書(オプション) |
スタートアップスクリプト情報
| 項目 | 説明 |
|---|---|
| アプリケーション利用ポート | 1337/tcp (HTTP), 443/tcp (HTTPS) |
| インストールディレクトリ | /opt/strapi/my-strapi-app |
| 管理スクリプト | /root/strapi-*.sh |
| 初期状態 | サービス停止中(セキュリティのため) |
| プロセス管理 | PM2による自動起動・再起動機能 |
重要
Strapiは初回アクセス時に管理者アカウントを作成する仕様です。不正な第三者による管理者登録を防ぐため、テンプレート作成直後はサービスを停止状態に設定しています。
その他
最小システム要件
- CPU: 最小1コア、推奨2コア以上
- メモリ: 最小2GB、推奨4GB以上
- ディスク容量: 20GB以上(SSD推奨)
- ネットワーク: パブリックIPアドレス
メモ
Strapiのビルドプロセスは大量のメモリを消費します。インストールスクリプトは一時的に4GBのスワップ領域を作成してビルドを安定化させ、完了後に自動的に削除します。
利用手順
メモ
スタートアップスクリプトにてアプリケーションのインストールが完了するまで数分かかります。
インストール完了後、rootディレクトリに「strapi-info.txt」というファイルが作成されますのでご確認ください。
ファイルが存在しない場合、作成されるまでしばらくお待ちください。
Step 0: セキュリティグループについて
ConoHa VPS(Ver.3.0)ではサーバー毎にIPアドレスまたはポートでトラフィックを制御するセキュリティグループ(仮想ファイアウォール)が設定されます。
本テンプレートをご利用の場合は、予め利用するポートの通信許可設定が必要です。
詳細はセキュリティグループを参照してください。
重要
セキュリティ上の理由により、テンプレート作成直後はStrapiサービスが停止状態です。以下の手順に従って安全にサービスを起動し、設定を行ってください。
Step 1: VPSへの接続
ConoHa VPSのコントロールパネルからVPSの情報を確認し、SSH で接続します。
鍵認証でのSSH接続コマンド例
# ssh -i 秘密鍵ファイルのパス root@VPSのグローバルIPアドレス
メモ
インストール完了までには数分程度かかります。スタートアップスクリプトの実行状況は、SSH接続後に以下のコマンドで確認できます:
# tail -f /var/log/strapi-install.log
Step 2: サービスの起動
PM2を使用してStrapiサービスを起動します。
# sudo -u strapi pm2 start strapi
サービスの起動状態を確認します。
# sudo -u strapi pm2 status
メモ
PM2は自動再起動機能を持ち、システム起動時にStrapiを自動的に開始します。サービスが「online」ステータスになっていることを確認してください。
Step 3: 初期セットアップ
3.1 ドメインの確認
インストール情報ファイルで設定されたドメインを確認します。
# cat /root/strapi-info.txt
3.2 管理者アカウントの作成
Webブラウザで以下のURLにアクセスし、管理者アカウントを作成します。
https://<ドメイン名>/admin
セキュリティ重要
初回アクセス時に表示される登録フォームで管理者アカウントを作成します。この操作は一度のみ可能です。必ず安全な環境から実施し、強固なパスワードを設定してください。アカウント作成後は他のユーザーによる管理者登録はできなくなります。
Step 4: HTTPS設定(推奨)
本番環境では、Let’s Encryptを使用した正式なSSL証明書の導入を強く推奨します。下記コマンドの「[email protected]」は自身のメールアドレスに置き換えてください。
4.1 Let’s Encrypt証明書の取得
# /root/strapi-letsencrypt.sh -e [email protected]
4.2 自動更新の確認
Let’s Encrypt証明書は自動的に更新されます。更新スケジュールを確認するには:
# systemctl list-timers | grep certbot
メモ
Let’s Encrypt証明書を取得するには、ドメイン名が正しくVPSのIPアドレスに向いている必要があります。DNSレコードの設定を事前に完了させてください。
Step 5: ドメイン設定(オプション)
カスタムドメインに変更する場合は、以下のスクリプトを使用します。下記コマンドの「your-domain.com」は自身の独自ドメインに置き換えてください。
# /root/strapi-change-domain.sh -d your-domain.com
このスクリプトは以下の処理を自動的に実行します:
- ホスト名の変更
- Nginx設定の更新
- 自己署名証明書の再生成
- サービスの再起動
Step 6: システム診断
システムの動作状態を確認します。
# /root/strapi-diagnose.sh
このスクリプトは以下の情報を表示します:
- Nginxサービスのステータス
- PM2によるStrapiプロセス状態
- 使用中のポート情報
- データベース接続状態
- ディスク使用量
- メモリ使用状況
- アプリケーションログ
管理スクリプト一覧
| スクリプト名 | 機能 | 使用例 |
|---|---|---|
| strapi-letsencrypt.sh | Let’s Encrypt証明書の取得・設定 | # /root/strapi-letsencrypt.sh -e [email protected] |
| strapi-change-domain.sh | ドメイン名の変更 | # /root/strapi-change-domain.sh -d new-domain.com |
| strapi-diagnose.sh | システム診断・状態確認 | # /root/strapi-diagnose.sh |
PM2によるプロセス管理
Strapiの起動・停止・再起動は、PM2を通じて実行します。
| 操作 | コマンド | 説明 |
|---|---|---|
| ステータス確認 | # sudo -u strapi pm2 status | Strapiプロセスの状態を表示 |
| 起動 | # sudo -u strapi pm2 start strapi | Strapiサービスを起動 |
| 停止 | # sudo -u strapi pm2 stop strapi | Strapiサービスを停止 |
| 再起動 | # sudo -u strapi pm2 restart strapi | Strapiサービスを再起動 |
| ログ表示 | # sudo -u strapi pm2 logs strapi | リアルタイムログを表示 |
ファイアウォール設定
以下のポートがufwファイアウォールで開放されています。
| ポート番号 | プロトコル | 用途 | 必須/オプション |
|---|---|---|---|
| 22 | TCP | SSH | 任意 |
| 80 | TCP | HTTP | 必須 |
| 443 | TCP | HTTPS | 推奨 |
メモ
ポート1337はStrapiアプリケーションが内部的に使用しますが、Nginxがリバースプロキシとして機能するため外部に直接公開されません。
データベース情報
データベース認証情報は以下のファイルに記録されています。
# cat /root/strapi-info.txt
PostgreSQLデータベースに直接アクセスする場合:
# sudo -u postgres psql -d strapi
重要なファイルパス
| 項目 | パス |
|---|---|
| Strapiアプリケーション | /opt/strapi/my-strapi-app |
| 環境変数設定 | /opt/strapi/my-strapi-app/.env |
| PM2設定 | /opt/strapi/ecosystem.config.js |
| アプリケーションログ | /opt/strapi/logs/ |
| Nginx設定 | /etc/nginx/sites-available/strapi.conf |
| SSL証明書 | /etc/strapi/ssl/ |
| インストールログ | /var/log/strapi-install.log |
アプリケーションの具体的な利用方法につきましては、サービス開発元やサービス提供元の公式サイト、Wikiなどで最新情報をご確認ください。
外部リンク
| サイト名 | URL | 説明 |
|---|---|---|
| Strapi公式サイト | https://strapi.io/ | プロダクト情報・最新ニュース |
| Strapi公式ドキュメント | https://docs.strapi.io/ | 技術ドキュメント・チュートリアル |
| StrapiのGitHubリポジトリ | https://github.com/strapi/strapi | ソースコード・イシュートラッカー |