もっと詳しく

皆さんこんにちは、FascodeNetworkのブログスケジュール管理などを行っているなおこです。

今回はCoreServer V2でheadless CMSでおなじみStrapiを構築する方法をお伝えしたいと思います。

ふとHeadless CMSとはなにかと思うかもしれませんが、表示部分をなくしたCMS(コンテンツ管理システム)と思っていただければわかりやすいと思います。かんたんにjson返すやつ作れるです。

導入するにはnodejsや外部から接続する際はポート開放が必要などレンタルサーバーに導入するには割とハードルが高いHeadless cmsです。

Strapiとは?

挨拶のところで軽く説明しましたが、もう一度軽く解説しておきます。

Strapiは2015年から開発されており、現在(2022/01/08)、GitHubを見ると数日前にcommitが行われており継続的な開発が行われておりある程度信頼できます。

スターターキットも存在しており、Headless CMSではなくWordpressのようにCMSとして扱うこともできます。

個人的には使ってみてHeadless CMSの中では非常に使いやすい部類だと思います。

公式サイト

Strapi – Open source Node.js Headless CMS 🚀
Strapi is the next-gen headless CMS, open-source, javascript, enabling content-rich experiences to be created, managed and exposed to any digital device.

GitHubのページ

GitHub – strapi/strapi: 🚀 Open source Node.js Headless CMS to easily build customisable APIs
🚀 Open source Node.js Headless CMS to easily build customisable APIs – GitHub – strapi/strapi: 🚀 Open source Node.js Headless CMS to easily build customisable A…

デンマークのWikipedia

Strapi – Wikipedia

今回使うPCスペックや実行環境

  • OS : Alter Linux(実質Arch Linux)とWindows10Proデュアルブート
  • MB : B450M Steel Legend
  • CPU : AMD Ryzen 5 5600x
  • GPU : NVIDIA GTX 960
  • RAM : 32GB
  • HDD : 4TB

今回のブログの内容を実際に行うサーバーはこのブログを運用しているレンタルサーバーCoreServer V2のCORE-Xプランを使用します。

そこそこコスパが良いしコアサーバー自体のわからないことがあればサポートで質問できるのでおすすめ。



nodejsインストール

strapiにはnodejsが必要です。

nodejsのインストールについては下記のブログで紹介しているのでそちらをご覧いただけますと幸いです。

https://blog.fascode.net/2022/01/07/coreserverv2nvm/

sshポートフォワーディング

strapi自体にはsshポートフォワーディングは必要ありませんが、レンタルサーバーで使う場合はsshポートフォワーディングが必要なので下記のページを事前に見ていただけますと幸いです。

https://blog.fascode.net/2021/12/23/ssh/

strapiを構築する。

strapiをレンタルサーバーに構築するためまずはレンタルサーバーにssh接続を行います。と言っても数行のコマンドを打つだけで完了です。

ssh ユーザー名@ホスト名

無事できたら、nvmでnodejs環境を整えておきstrapi公式のドキュメントに書いてある下記のコマンドでstrapiを構築していきます。

このとき注意しなければ行けない点は2022/01/08時点、nodejsのバージョンは12~16でないとだめとのことです。GitHubのREADMEに書いてありました。

GitHub – strapi/strapi: 🚀 Open source Node.js Headless CMS to easily build customisable APIs
🚀 Open source Node.js Headless CMS to easily build customisable APIs – GitHub – strapi/strapi: 🚀 Open source Node.js Headless CMS to easily build customisable A…

npx create-strapi-app@latest strapi --quickstart

構築し終わると http://localhost:1337/admin にアクセスするように誘導するような表示が出ます。

実際にアクセスするとレンタルサーバー上で構築してるので当然ですがアクセスできません。

ですがレンタルサーバーには任意のTCPポート1337を開けるような機能がないため接続することができません。

なのでsshポートフォワーディングを使用して、外部から管理画面を開けるようにします。

新たにターミナルを開き、下記のコマンドでsshポートフォワーディングを行います。

ssh -L 1337:localhost:1337 ユーザー名@ホスト名

上記のコマンドを実行すると http://localhost:1337/admin などでstrapiに接続することができます。

意外とかんたんに任意のポートが開放できない環境でも任意のポートを使うことができました。

注意点

今回ブログにした方法はレンタルサーバーによっては禁止されているケースも多く、もし今回の方法を行う際は自己責任で行ってください。

最後に

レンタルサーバーでポート開放が行えないとできないことが多いように感じますが実はかんたんに動作させることができてしまいます。

最近のレンタルサーバーは管理者権限使えなかったり任意のポート開放が使えないvpsって感じですな。

それでは次のブログでお会いしましょう。

The post レンタルサーバーにCMS strapiを構築する方法【CoreSever V2】 first appeared on FascodeNetwork Blog.