コラム
2024/01/29

cms はじめてサイト構築してみた

  • CMS

CMSクラウドサービスでCMSサイト構築

cms はじめてサイト構築してみたDrupalでは画像やPDFなどのファイルを添付しコンテンツを作成することがあります。
今回、CMSクラウドサービスである、「Acquia Cloud Platform」にてオープンソースCMS 「Drupal」を導入してサイト構築を行いましたので、まとめていきたいと思います。

CMSのシステム構成

CMSでサイト構築をしようとした場合、このような構成が必要となると思います。

  • ①CMSが稼働するオペレーティングシステム
  • ②WEBサーバ
  • ③スクリプト言語
  • ④データベース
  • ⑤キャッシュサーバ
  • ⑥ロードバランサ
  • ⑦CDN/WAF

「Acquia」の「Cloud Platform」は、①~⑥が用意されています。サイト構築作業は少ない手順でサイト構築ができ、CMSが利用できるようになります。

簡単にオープンソースCMS環境を作成できますので、以下、説明していきます。

具体的なOS/MW構成

「Acquia」の「Cloud Platform」を使用して構築されるインフラは以下の構成となります。

  • ①OS・・・Ubuntu
  • ②WEB・・・Apache
  • ③スクリプト言語・・・PHP
  • ④データベース・・・AWS Aurora MySQL
  • ⑤キャッシュサーバ・・・Nginx ,Varnish®/Memcached
  • ⑥ロードバランサ・・・Nginx /Varnish®
  • ⑦CDN/WAF・・・「Acquia Cloud Platform CDN」
  • ※⑦CDN/WAFは「Cloud Platform Enterprise」または「Site Factory」サービス利用時のみ使用可能です。

「Acquia Cloud Platform」へ「Drupal」を導入する際の手順

「Acquia Cloud Platform」へオープンソースCMS「Drupal」をインストールする手順について、ご紹介します。

  • i. ローカル環境にphp/composer/gitをインストールし、composerが利用できるようにします。
  • ii. 「composer create-project」コマンドにてにて「Drupal」プロジェクトを作成します。「composer require」コマンドにて「Drupal」や他の使いたいモジュールをcomposer.jsonに登録していきます。
  • iii. 「composer update」コマンドにてcomposer.jsonに登録された情報を元にモジュールの最新版をローカルにダウンロードします。
    
    composer create-project --no-install drupal/recommended-project:^9.0.0 .
    sed -i'.original' 's/web\//docroot\//g' composer.json && rm composer.json.original
    composer require drush/drush:^10.2 --no-update
    composer update
    
  • iv. 「Drupal」用設定ファイルのサンプル「default.settings.php」がローカル環境にダウンロードされますので、サンプル・Acquiaインストール手順を元にAcquia環境にに合わせた設定を「settings.php」に行います。具体的な設定値は以下参照
  • v. gitコマンドにてダウンロード・設定変更した「Drupal」ソースをAcquia環境用Gitサーバに対してコミット&Pushします。
  • vi. Acquia管理画面にて、上記「Push」されたリソースをデプロイします。「Acquia Cloud Platform」環境ではGitリソースのブランチまたはタグを指定してAcquia管理画面からデプロイの指示することができ、簡単にサーバ上にリソースを配置できます。
  • vii. デプロイ先のWEBサイトにアクセスし、「Drupal」インストール用URL「/core/install.php」」をクリックします。「Drupal」インストール画面が表示されます。インストールウィザードに従って各種パラメータを設定していくと完了し、CMSサイトが利用可能となります。

「Acquia Cloud Platform」にて「Drupal」を構築するメリット

  • i. 導入の簡単さ
    上記手順に記載した通り、「Acquia Cloud Platform」インフラはDrupalに最適化されたフルマネージドホスティングプラットフォームとして提供されていますので、CMS構築に必要な作業がモジュールのアップロード、「Drupal」のインストール作業のみで利用可能となります。非常に簡単にCMS環境が構築できます。
  • ii. Composer利用することで、バージョン・構成・依存関連の管理できます。
  • iii. 構築のサンプルがネットに沢山ありますので、インストール作業で困ることがない。

デメリット

  • i. カスタマイズする際の敷居の高さ
    Composerで導入されることを前提として各種ドキュメントがネットありますが、環境に対して何かしら修正を加えようとした場合、Composerの各種コマンドの知識、composer.jsonファイルの設定内容の理解が必要となります。また、ネットに公開されている「drupal」関連資料は「コンテナ型仮想化」上で構築する手順が多いですので、手順が自動化されて省略されており、WEBサーバの導入・設定、php-fpm導入とWEBサーバとの連携設定、DB接続設定に関する情報は少ないと思います。通常WEBアプリケーション環境を構築するときに必要な上記設定の知識は必要となります。

まとめ

「Acquia Cloud Platform」を使用した「Drupal」サイト構築が複雑な設定せず、コマンド・オペレーションで、サイト構築し、立ち上げることができました。「Drupal」に最適化されているということを実感できる内容でした。今回はサイト構築だけに着目してご紹介しましたが、他にも魅力的な機能が提供されておりますので、CMS導入に興味がある方は是非ご連絡ください。

WEBSASくん