WEBサイト構築に関連する記事はCreationにまとめています。
この記事は、サイト開設第一号の記事になりますので、当WEBサイトの概要や、Drupalを選択する経緯、Drupalについて簡単な説明をまとめています。Drupalの説明をわかりやすくする為に、WEBサイト構築を始めた際に使用した、WordPressとの比較をしています。
後半は、使用している、DrupalやBootstrap5など、モジュールのバージョンについてをまとめて、最後にホスティングで使用している、Amazon Lightsailについて簡単にまとめています。
表題を全て英語にしているのは、ブラウザによってhタグの英語表記と日本語表記のギャップがあり、そのギャップを回避する方法を考える試験的な意味合いがあります。この辺りもサイトを運営しながら最適なやり方を見つけていきたいと考えています。
Creationとは、想像や制作といった意味合いを持っています。WEBサイト制作というと、Web productionや、Website creationとなります。このままではメニュー表示するのに単語が長いので、Creationのみを選び、WEBサイト構築に関わる記事をまとめています。
Creationのカテゴリーでまとめる記事は、私がDrupalを使い、WEBサイトを構築していく過程の記事になります。Drupalを使用するのに必要な、MacBookの環境整備や、ホスティングサービスに関わる設定など、WEBサイト構築に関連したものもこちらで記事としていきます。
当WEBサイトはDrupalを使用しています。Drupalを使用する前は、WordPressを使いWEBサイトを構築しています。当サイトではWordPressの機能紹介等はしておりませんが、私自身WordPressも愛用しており、Drupal同様に愛着を持ち使用しています。
以下、簡単にですが、私自身が感じるWordPressとDrupalについてまとめてみます。私の知識が稚拙なため、的外れな文章となっているかもしれませんがご容赦ください。
同じCMSでも、WordPressは非常に洗練されたインターフェースとデザインを持っています。利用するテーマやプラグインにもよりますが、機能面のわかりやすさや、完成イメージの視覚的な理解を得やすいので、初めて触れる方でも、ほぼ用意された機能だけで洗練されたデザインのWEBサイトを構築出来ます。
デザインテーマも洒落たものが多く、使い易さとデザイン性に優れた事で、利用者数は圧倒的に多いCMSです。利用者が多いので、チュートリアルやHowtoも多数公開されており、インフラ面においてもホスティング会社が積極的に採用し、全くの初心者でもWordPressを使用しWEBサイトを公開する環境が整っています。
DrupalもWordPressに負けない優れたインターフェースを持っていますが、デフォルトでは豊富な機能に対しての設定が最低限となっています。インストール後、初期段階でサイト構成をある程度考える必要があり、構築する構成に必要な設定を行う必要があります。その事から、初めて触れる方は少し理解しにくいところがあります。
構成や設定がある程度出来上がり、機能面での理解が進むと、組んだ設定が複数の箇所で再利用出来たり、再利用先でさらに細かく設定を行えるので、サイト構成の自由度が高く、慣れるとWordPress以上に使いやすいCMSです。
Drupalは、個人の初心者が使う事は考えられておらず、チュートリアルやHowtoもWordPressのように多くはありません。インフラ面においても、WordPressほどホスティング会社が積極的に採用はしておらず、ある程度の知識や学習を経て、ホスティング会社任せでなく自分で公開する準備をする必要があります。
WordPressもDrupalもCMSと呼ばれ、PHPとDBを使い、専用のGUI化した管理画面が用意され、専用の管理画面でプログラミングやコードを意識せずWEBサイトを構築し、配信できるようになっています。
DrupalもWordPressもサイトデザインはテーマと呼ばれています。機能の拡張は、WordPressはプラグイン、Drupalはモジュールと呼ばれ、機能拡張により好きなデザインのテーマを選び、必要な機能を組み合わせて、WEBサイトを構築出来ます。
例えば一般的なブログを作成後、追加機能として、簡易なSNS機能や、写真のギャラリー機能を追加して、投稿機能を持つ写真ギャラリーのWEBサイトに構築し直していくことが、機能拡張により可能となっています。
WordPressのテーマやプラグインは、有料無料含め膨大に公開されています。有名なものは、インストール後そのまま利用出来るようにパッケージングされているケースが多く、個人の利用者も多いので、スマートフォンのアプリのように機能制限をかけた無料版と、機能をフルで使用できる有料版という形も多く配布されています。
WordPressのテーマやプラグインは、マーケットも相応に大きなため、有名なものは、企業単位での開発を行なっており、高機能で洗練されたものが多いのも特徴です。テーマやプラグインのインストールも、管理画面のGUI上から簡単に行える事など、インターフェースが非常に洗練されている事もWordPressの優れた特徴です。
Drupalもテーマやモジュールは、有料無料含め膨大に公開されています。WordPressと異なるのは、個人より企業需要や開発者向けに用意されているのでは?と感じるものが多く、機能単体のものを多く見かけます。設定を自身で行い、いくつかの機能を組み合わせる事で、初めて、求める機能として成り立つものや、求めるデザインとなるケースの方が多い事が特徴です。
Drupalに関わる方の収益構造が、WordPressは、個人でも使用出来るアプリを販売するマーケットが成立していることに対し、どちらかと言えば企業需要が多く、個人需要がWordPressほど大きくないDrupalは、クラウドサービスの提供や、企業向けの規模の大きな開発が収益源というケースが多くみられます。その為、スマートフォンのアプリのような個人需要があまりなく、使いやすいパッケージ化されたテーマやモジュールが少ない事も特徴であります。
機能単体のモジュールは、利用者がある程度の設定を行う必要があり、利用者の責任範囲での利用が前提ですので、ほぼ無料となっています。その分、サイト構築の自由度は高く、知識を持った方が利用すると、非常に高機能で洗練されたサイトが構築出来ます。Drupalは、パッケージングされたテーマやモジュールは数少ないながらディストリビューションと言われて非常に高機能なものも用意されています。
テーマやモジュールのインストールは一部GUIで行えますが、基本はコマンドラインから行う必要があります。慣れた方であれば確実で早い方法ではありますが、開発などに関わっていない方は、コマンドラインの操作そのものに、敷居の高さを感じてしまい、敬遠してしまう事もあるのではないかと感じます。
サーバーにターミナルからログインして操作を行う必要があるケースも多く、SSHを使うのですが、鍵認証の設定なども初心者には敷居が高いと感じます。
WordPressは知識がなくても、用意された環境ををそのまま使用して、一定以上のクォリティーのWEBサイトを構築出来るパッケージや、そこにインフラを含めた構築環境が用意されています。そのことで必要な知識や学習の敷居が低くなり、目的とするWEBサイトの形に近いものが、初心者の方でも挫折せずに構築しやすい事が特徴です。
WordPressに慣れると、構築するWEBサイトに、色々な機能を追加したりデザインを変更したりと色々な事が出来るようになります。実際には初心者や個人だけでなく、企業や大規模なWEBサイトも採用されていますので、初心者が作る小規模なものから大規模なサイトまで構築出来る優れたCMSです。
Drupalは、インストールして動かす事はそれほど難しくないのですが、WEBサイトを目的の形で構築しようとすると、必要な機能、設定方法、機能の置き場所、設定の書き方、各種用語の理解など、システムの基本的な構造やルールを理解する必要があります。その為、ある程度の知識と学習意識がないと、目的とするWEBサイトの形に近いものを、構築する前に挫折してしまうかもしれません。
構造の理解やルールの理解は、管理画面のGUI上からの操作を、何度も行ううちに、徐々に理解出来ます。設定を自身で行う必要があるので、慣れると細かな設定を容易に行えるようになり、Drupalで出来る事の、自由度の高さを体感出来ます。ここまで来るとWEBサイトを目的の形で構築していく事が可能となります。
実際、個人のブログを、Drupalで構築しているケースはあまり見かけないので、私の記事が、個人でDrupal興味がある方の、参考になればと考えています。私が書く記事内容はプログラミングやコード上のカスタマイズ、チュートリアルの要素は薄く、実際にWEBサイトを構築している過程や雑感がメインとなります。
そのためDrupalの機能についての設定マニュアルやチュートリアルとして調べている方の参考にはなりませんが、開発者ではない方や、技術的な知識がない個人でも、Drupalを便利に使っていて、何だか面白そうだと感じて、興味を持っていただけたら幸いです。
現在使用しているDrupal CoreやThemeやModulesのVersion情報になります。
Bootstrap5 4.0.3
このWEBサイトで使用しているThemeは、Bootstrap5 4.03になります。Bootstrap5が用意するパーツが使用出来る事と、デフォルトでHTMLタグに必要最低限のBootstrap5の要素が組まれているので、CKEditerで見出しや段落を使い文章による記事を書いていくだけでBootstrap5を使い、構成したページが出来上がります。
インストールしたモジュールになります。モジュールの選択は、Drupalにデフォルトでは設定されていないMetaタグを任意に追加出来るモジュールや、パンくずリストを任意に設定可能とするモジュール、コンタクトフォームに使用するreCAPTCHAに関連するモジュール、外部SMTPを利用可能とするモジュールをインストールしています。
easy_breadcrumb 2.0.8
パンくずリストを自由に構成出来るモジュールになります。テーマのデフォルトレイアウトではページ上部にパンくずリストが配置されますが、このモジュールを使用することで任意にパンくずリストの位置を配置出来ます。パンくずリストのリンクを設置する階層の設定も自由に出来ます。
Metatag 2.0.2
Drupalのコンテンツ機能にてページを作成すると、デフォルトではMeta Discriptionが配置されません。Meta Discriptionの配置をコンテンツ機能から行えるモジュールになります。インストール後MetaTagを使用したいコンテンツを指定するだけで利用できます。コンテンツ以外にViewsで作成したページでも利用可能です。
CAPTCHA 2.0.6
DrupalでCAPTCHA機能を使用可能にするモジュールになります。機能拡張でGoogle reCAPTCHA v3やv2を使用可能に出来ます。使用するCAPTCHA方式の指定と指定したCAPTCHAを使用する箇所の設定が細かく出来ますので、当WEBサイトではフォームメールとログインに使用しています。image CAPTCAモジュールもデフォルトでインストールされます。
reCAPTCHA v3 2.0.3
DrupalでGoogle reCAPTCHA v3を使用可能にするモジュールになります。CAPTCHAの機能拡張モジュールですのでCAPTCHAが必要です。設定は簡単で、サイトキーとシークレットキーの登録と、しきい値の設定、設問形式を行う事で利用可能となります。
reCAPTCHA 8.x-3.4
DrupalでGoogle reCAPTCHA v2を使用可能にするモジュールになります。CAPTCHAの機能拡張モジュールですのでCAPTCHAが必要です。設定は簡単で、サイトキーとシークレットキーの登録と、設問形式の表示設定を行う事で利用可能となります。V3で設問が必要になった場合にV2を使用するためにこのモジュールをインストールしています。
SMTP Authentication Support
Drupalでメール送信を行う際に外部SMTPを使用する為のモジュールになります。当WEBサイトではAWS SESを外部SMTPとして利用しています。設定もポートと認証の設定を行うだけで使用出来ます。
アマゾンのクラウドサービスで有名なAWSになります。AWSはWEBサーバーの機能をサーバー機能やキャッシュ機能、データベース機能など機能毎に分け、それぞれを別サーバーで専門的に強化して、大量なトラフィックでも止まらないスケーリングを持つサービスになっています。非常に魅力的なサービスなのですが、個人がブログで使うにはオーバースペックで予算も高くなってしまいます。
私が、Drupalを動かすのに選択したのが、Lightsailというサービスで、WEBサイトを動かす為の機能が一通りパッケージされ、個人が運営するWEBサイトの予算でも、十分合うリーズナブルなサービスになっています。
AWSに用意される、WEBサイト構築に最適化され、専門化された各機能は、非常に高機能で性能や価格の選択種が多様化されています。利用する際に、結局どの機能を選択し、どの程度の予算を必要とするのかという判断が難しく、私のような専門家ではないユーザーでは、なかなかシステム構成を決めきれないところがあります。
Lightsailは、必要な機能がパッケージ化されており、国内のVPSのサービス同様、仮想サーバーのCPUやメモリ容量など、ハードのスペックから選ぶ事が出来ます。このメリットは、想定される利用方法に、必要なハード構成がある程度決まってきますので、選択種もそれほど多くなく、選ぶ事が容易で、月額の料金が決まっていますので、私のような個人が利用するのに適しています。
個人でLightsailでWEBサイトを運営していて、アクセスが伸び、Lightsailのスペックから、ステップアップする必要が出た場合、AWSが用意する専用化された高性能なリソースへの移行もそれほど大変ではなく、スケーリングや自由度が高いAWS本来のメリットを活用出来ます。
少し大袈裟な話になりますが、小さく初めて、スピード感を重視しながら、大きく成長させていく、世界のテック企業が行っているプロセスを、日本にいる個人でも体験することが出来るのもAWSを使うメリットと感じています。
私のDrupalは、Lightsailが用意する、BitnamiがDBやApacheの設定をを行い動作検証を済ませ、クラウド上にインストールされたDrupalのパッケージを使用しています。このサービスは国内ホスティングのWordPress簡単インストールに近いサービスとなっています。
インストールは簡単ですが、SSLの設定はコマンド上で行ったり、初期設定の説明が全て英文であるなど、国内のホスティングに用意されるWordPress簡単インストールのようにはいきません。利用の際、最低限の知識や学習意識がないと、最初のスタートで行き詰まってしまうかもしれません。
現状BitnamiのDrupalを使用しています。しばらく使ってみて、問題なければそのまま使用していくつもりでいます。まだ、Lightsailで出来る事の範囲を、把握出来ていないので、OSやPHPのアップデートなどの検証を今後して行きたいと考えています。
駆け足ですが当WEBサイトで使用するDrupalやホスティングで使用するAmazon Lightsailを紹介しました。次項からDrupalを使う為の準備である、ローカル環境でDrupalを使用出来るようにする環境構築を行なって行きます。
Running Drupal on Mac.
私は、PC環境にMacBookを使用しています。次項ではMacBookでDrupalを利用出来る環境を整え、まずはMacBookでDrupalを動かしてみます。