【Drupal】ConoHa VPSにKusanagi9でサクッとDrupalを構築する
はじめに
ここでは、ConoHa VPSに用意されているKusanagi9(CENTOS9)を利用してDrupalを構築します。
「KUSANAGI」とは、プライム・ストラテジー社が提供するパッケージサービスで、Webシステムを高速に処理できるように最適化されたサーバー環境です。
KUSANAGIは、仮想サーバーイメージまたはDockerコンテナイメージとして提供されています。
利用可能なプラットフォームは、アマゾンAWSやMicrosoft Azureはじめ世界37カ国203リージョン、国内外の主要な28プラットフォームで利用することができます。
ここでは、Kusanagiを使うメリットと、Kusanagiを利用してDrupalを素早く構築する方法をご紹介します。
メモ程度ですがよろしければ参考にしてください。
Kusanagiとは
超高速CMS実行環境「KUSANAGI」は、プライム・ストラテジーが開発・提供する、WordPressをはじめとするCMSを高速・セキュアに動かすための、リナックスベースの「構成(チューニング)済みサーバOS」(仮想マシンイメージ)です。
KUSANAGI導入により、パフォーマンス・セキュリティが向上しユーザーエクスペリエンスが改善することで検索順位が上がりやすくなります。KUSANAGI導入でウェブサイトの常時SSLを簡単に設定することが可能です。また、Kusanagiは国内外を問わず主要なプラットフォームで使用されており、実績があります。
Kusanagiが使われる理由
Kusanagiが使われる理由は、高速性、高度なセキュリティ、利便性の三点に集約されます。
引用元:KUSANAGIとは
高速化の実現
- ミドルウェアが高速・セキュアに動作するように、パラメータをチューニング済
- HTP/3 および HTTP/2 にデフォルトで対応
- Nginxを利用したページキャッシュ機能 (fcache)
- WordPress向け高速化機能(KUSANAGI専用プラグイン)
- WordPress向けページキャッシュ機能 (bcache)
- 翻訳アクセラレーター
- テーマアクセラレーター
KUSANAGI Stackによるさらなる高速化
KUSANAGI StackはKUSANAGI を中心とするWeb高速化ソリューションです。超高速CMS実行環境「KUSANAGI」、高速化エンジン「WEXAL® Page Speed Technology®」、戦略AI「ONIMARU® David」をあわせてご利用いただくことでブラウザからのHTTPリクエスト、サーバでの動的処理、HTTPレスポンス、レンダリングといったWeb表示のすべてのステップで高速化が実現します。
「WEXAL® Page Speed Technology®」と戦略AI「ONIMARU® David」はKUSANAGIのPremium Editionに搭載されています。
高度なセキュリティ対策
企業や大学などエンタープライズWebシステムにおいて利用されることを想定し、ビジネスに必須とされるセキュリティ機能が標準で実装されています。開発元が最新版ミドルウェアのアップデートを配信していますので、テスト済みのアップデートをすぐに適用することができます。
- 最新版ミドルウェアをKUSANAGIのリポジトリより提供
- WAF
- SELinux対応
- TLS 1.3対応
- TLS 1.1以下の無効化
- DoS攻撃対策
- WordPress向けセキュリティ機能(KUSANAGI専用プラグイン)
- WordPress自動アップデート機能
- セキュリティ状況の表示
利便性の追求
すべてのプラットフォーム同じ環境を実現
KUSANAGIはすべての提供プラットフォームで同じ構成で利用いただけます。
対応するクラウドプラットフォーム、OS、バージョンで統一した運用を行えるコマンドを提供しています。
マルチクラウドなどさまざまな拡張した運用が可能です。
KUSANAGIを利用できるプラットフォーム
※ 利用可能なプラットフォームの一覧はこの記事の最後に記載しています。
豊富なKUSANAGIコマンドによる環境設定の簡略化を実現
OSやミドルウェアなどを自由に組み合わせて、ご自身のサイトの仕様に合わせた環境を作ることができます。WordPress以外のサイトを運用している場合もKUSANAGIに統一して運用することができます。
- CentOS Stream 9, AlmaLinux OS 8 / 9
- Nginx / Apache
- MariaDB / PostgreSQL
- PHP Version
- アプリケーション
- WordPress
- LAMP / LEMP
- Movable Type 7 / 8
- Drupal 9 / 10
事前準備
Conoha VPSの管理画面にログインして、Kusanagi(CENTOS)のアプリケーションイメージからインスタンスを作成します。
また、公開するドメインはあらかじめDNSサーバーに登録しておく必要があります(Aレコードの作成)
KUSANAGIの初期設定
OSの環境設定やウェブサーバー、PHPやデータベースの設定またはインストールを行います。
※ Kusanagiではプロビジョニングを実施することで複数の環境とドキュメントルートを構築できます。しかし、環境ごとにデータベースやPHPのバージョンを変更することはできません。
#初期化
kusanagi init --tz Asia/Tokyo --lang ja --keyboard en --passwd ${kusanagipass} --nophrase --dbrootpass ${dbrootpass} --mariadb10.5 --httpd24 --php81
KUSANAGIプロビジョニングの実施
KUSANAGIはサーバー内に複数の環境を構築することができます。指定されたドキュメントルートに環境を構築して、NGINXまたはAPACHEの設定ファイルにFQDN(ドメイン)情報を追加します
kusanagi provision --lamp --dbname=${dbname} --dbuser=${dbuser} --dbpass=${dbpass} --email=${email} --fqdn ${FQDN} ${provname}
正しくプロビジョニングが完了すれば、プロファイル名でフォルダが作成されていますので、対象フォルダに移動します
#プロビジョニングフォルダに移動 cd ./${provname}
ComposerでDrupalプロジェクトの作成
composerでdrupalプロジェクトを作成します。この時点ではまだDrupalはインストールされていませんがフォルダが作成され必要なインストールファイルがフォルダに準備されています。
mkdir ${proj} && cd ${proj} && composer create-project drupal/recommended-project:${drupalver} tmp && cp -r tmp/. . && rm -rf tmp
ComposerでDrushのインストール
DrushとはコマンドラインからDrupalを操作することができる便利なツールです。
Drupalのインストールは画面から対話形式ですることも可能ですが、Drupalを自動でインストールするためにまずはDrushをインストールします
DrushのインストールはComposerで行います
composer require drush/drush
Drushランチャーのインストール
drushモジュールはvendorフォルダに格納されていますが、drushをコマンドで実行できるようにするためにはランチャーのインストールが必要です。
スクリプトをインストール
wget -O drush.phar https://github.com/drush-ops/drush-launcher/releases/latest/download/drush.phar
権限の設定及びスクリプトをフォルダ移動
sudo chmod +x drush.phar sudo mv drush.phar /usr/local/bin/drush -f
DrushでDrupalのインストールと設定
Drushコマンドが実行できることを確認して、いよいよDrupalをインストールします。以下のDrushコマンドでワンラインで完了します
drush site:install -y --db-url=mysql://${dbuser}:${dbpass}@localhost:3306/${dbname} --account-name=${adminuser} --account-pass=${adminpass}
Apache設定ファイルの変更
Drupal用にドキュメントルートを変更する必要があります。対象のファイルを別ファイル名にコピーして、ドキュメントルートのパスを一括変更します。
sudo cp /etc/opt/kusanagi/httpd/conf.d/${provname}.conf /etc/opt/kusanagi/httpd/conf.d/${provname}.conf.bak.for-ssl-update sudo sed -i -e "s/\/DocumentRoot/\/${proj}\/web/g" /etc/opt/kusanagi/httpd/conf.d/${provname}.conf
サーバー反映と確認
変更した内容がサーバーに反映されるようにリセットします。Kusanagiの場合は下記のコマンドで可能です。
kusanagi restart
最後に、ブラウザから対象のサーバーにアクセスしてDrupalの初期画面が表示されていることを確認します。
さいごに
KusanagiといえばWordPress用にチューンアップされているイメージが強いですが、パフォーマンスやセキュリティ面だけでなくCLIで簡単に各種設定ができるため効率よく仕事をすることができます。
仕事でKusanagiを利用する場合は有償になってしまうのですが、開発者向けにはKusanagiのすべての機能が使えるKusanagiディベロッパーライセンスがあるようです。Kusanagiを試してみたい方はまずは個人向けの無償版で試してみると良いと思います。
スクリプトをこちらにアップしています。よろしければ参考にしてください。
https://github.com/matubara/VPS-KUSANAGI9-DRUPAL/tree/main/20241005
参考
ご利用可能なプラットフォーム
KUSANAGIは世界37カ国203リージョン、国内外の主要な28プラットフォームでご利用可能です。
CentOS Stream / AlmaLinux OS ベースの「KUSANAGI 9」とCentOS 7ベースの「KUSANAGI 8」を提供しています。
各バージョンごとに利用できるプラットフォームについては以下をご覧ください。
KUSANAGI 9 / KUSANAGI 8を利用可能なクラウド / ソフトウェア
- KUSANAGI 9 for Microsoft Azure / KUSANAGI for Microsoft Azure
- KUSANAGI 9 for AWS / KUSANAGI for AWS
- KUSANAGI 9 for GCP / KUSANAGI for GCP
- KUSANAGI 9 for さくらのVPS
- KUSANAGI 9 for さくらのクラウド
- KUSANAGI 9 for ConoHa / KUSANAGI for ConoHa
- KUSANAGI 9 for Xserver VPS
- KUSANAGI 9 for シン・VPS
- KUSANAGI 9 for WebARENA Indigo
- KUSANAGI 9 for WebARENA IndigoPro
- KUSANAGI 9 for WebARENA SuitePRO V4
- KUSANAGI 9 for KAGOYA CLOUD VPS / KUSANAGI for KAGOYA CLOUD VPS
- KUSANAGI 9 on Alibaba Cloud / KUSANAGI on Alibaba Cloud
- KUSANAGI 9 for Oracle Cloud / KUSANAGI for Oracle Cloud
- KUSANAGI 9 for ミライサーバー / KUSANAGI for ミライサーバー
- KUSANAGI 9 for Winserver / KUSANAGI for Winserver
- KUSANAGI 9 for GMOクラウド ALTUS(アルタス) / KUSANAGI for GMOクラウド ALTUS
- KUSANAGI 9 for Vagrant / KUSANAGI for Vagrant
- KUSANAGI 9 for VMware / KUSANAGI for VMware
ソフトウェア
KUSANAGI Runs on Docker
KUSANAGI for VMware
KUSANAGI for Vagrant
ホスティングサービス
KAGOYA JAPAN WordPress専用サーバー
WordPress最適化サーバー HAYABUSA
レンタルサーバー
エックスサーバー
wpXシン・レンタルサーバー
wpX Speed
引用元URL
https://kusanagi.tokyo/cloud/
この記事に関するご質問やご意見などございましたらお問い合わせフォームからお気軽にご連絡ください。