CMSを使ったWebサイトを構築するには?
【連載コラム:Linuxでサーバーを構築してみよう(2)】
サーバー構築をするときに必要になるソフトウェアは、一体どのように選んでいるのでしょうか?今回はその辺りを解説いたします。
前回、サーバを構築する際に考えるべきことを見ていきました。この連載では、CMS(コンテンツマネージメントシステム)を利用して、企業のWebサイトを公開するためのサーバを構築したい、というケースを考えていきます。今回は、利用するソフトウェアを選ぶというテーマで見ていきましょう。
目次
ソフトウェアを選ぶ
サーバを構築する際にまず大切なことは、そのサーバで何ができるようにするのか、です。前回も触れたように、「できる限りのすべての機能を持たせる」ことはできるだけ避けるようにした方がよいでしょう。
CMSを利用するには様々なことを考える必要がある
以前はWebサイトは自力でHTMLを書くなどして制作するケースが多かったのですが、現在ではWordPressなどのCMSを利用することが多くなっています。CMSを利用する場合、ApacheやNGINXなどのWebサーバソフトウェアだけでなく、PostgreSQLやMySQLといったリレーショナルデータベース管理システム(RDBMS)も必要になります。
また、多くの場合Postfixなどメールサーバ(MTA)としての機能を持たせることも有力な選択肢となります。機能をすべて一か所にまとめるのではなく、分割する、また一部はクラウドなどのサービスを利用するというのも選択肢になります。
ソフトウェアを選択する
何ができるようにするかを決めたら、用途に合うソフトウェアを検討します。具体的には、CMSとしてWordPressを採用するかDrupalを採用するか、WebサーバとしてNGINXを採用するかApacheを採用するか、RDBMSとしてPostgreSQLを採用するかMySQLを採用するか、などを決めます(選択肢はここに挙げた以外にもあります)。
このときの判断材料は、自分が想定していることが実現できるか?ということが一つですが、その他にも、想定されるアクセス数やハードウェアの規模に合致しているか、他のソフトウェアとの相性は良いか(実績が十分であることが望ましい)、メンテナンスの手間はどうなのかなど、さまざまな要素があります。
ソフトウェア選択のためのさまざまな判断材料
判断はさまざまな観点から行います。一例として、NGINXとApacheのいずれを採用するかを考えるときの思考過程を示してみます。
適正という観点から判断する
一般的に、同時に多数のアクセスがあることが想定される場合はNGINXが向いており、同時アクセス数が少ない場合や利用するアプリケーションが高いCPU負荷をかけるという場合はApacheのほうが向いているとされています。しかし、判断材料はそれだけではありません。採用するCMSとの相性はどうでしょうか?そのCMSに組み合わせるRDBMSとの相性は?などです(ただし、RDBMSのほうをサーバソフトウェアに合わせるという考え方もありますね)。
実績から判断する
また、実績が十分にあるということは大切です。組み合わせについても実績が十分にあるということは、安定して稼働させることができる可能性が高いということでもありますし、いざサーバを稼働させた時に調べものをしやすいということもあります。後者は意外と重要で、サーバを稼働させたはよいがトラブルが起こって対処法がわからないとなったらどうしようもありません。
情報の得やすさから判断する
情報は得やすいでしょうか?高性能で万能だが情報が得られにくいという可能性も、ないわけではありません。WebサーバソフトウェアはApacheはNGINX以外にもありますが、あなたがサーバ初心者である場合、ソフトウェアの情報があまり得られないという場合には、よほどの事情がない限り採用を避けたほうがよいです。何かわからないことがあったときに、情報が得られないことは致命的な痛手を背負う危険があります。その点で、ApacheやNGINXは情報が得やすく、採用しやすいソフトウェアだということができます。
ただし、未来永劫必ず情報が得やすいソフトウェアのままであるかどうかの保証がないことは、少しでよいので頭に入れておきましょう。過去大きなシェアを握っていたソフトウェアが現在では開発中止になっているということもあるのです。
一旦構築したシステムを変更するということ
一旦構築したシステムの中枢を担うソフトウェアを変更することは、できないことではありませんがかなりの困難と手間がかかります。ハードウェアや他のソフトウェアとの相性の再検証などを考えると、実質的に不可能な場合もあるでしょう。ソフトウェア選びはできるだけ慎重に行ってください。
また、ハードウェアとの兼ね合いでソフトウェアの選択が変わる可能性もあります。判断は1つの材料だけで行うのではなく、前述した様々な角度から総合的に行いましょう。
英語が読めることは大切
話は変わりますが、英語が読めることはサーバ管理に対して大きなアドバンテージとなります。そもそもオープンソースソフトウェアが出力するログなどのメッセージは多くが英語です。また、日本語化されている情報は、数ある情報のほんの一部です。英語が得意である必要はありませんが、英語がまったくできないので何かが表示されても読まない、投げ出す、ということにはならないようにしましょう。
もちろん、すぐに読めるようになる必要もありません。サーバ構築の準備や運用をしながら、少しずつ英語が読めるようになっていくというだけで、サーバ管理の安定感が格段に増します。最近では翻訳ソフトウェアの翻訳精度も上がってきているので、そのようなものを使っても良いでしょう。サーバ管理に関係する英語には少し癖がありますが、裏を返すと身につけやすいという側面もありますので、少しずつでも読めるようになることを意識してみてください。
- 筆者紹介
川原 龍人 氏
1975年生まれ。
著書に「BIND9によるDNSサーバ構築」、「シェルスクリプト ポケットリファレンス Bash編(技術評論社)」など。
予備校講師としても活躍中。Linuxとのつきあいは20年を超える。
バックナンバー
第14回:バックアップ
第13回:異常発生時の対応
第12回:サーバー構築という仕事
第11回:ユーザー教育の重要性
第10回:テスト環境を構築する
第9回:ログローテーションとは
第8回:ログの取得と管理
第7回:アクセス制限
第6回:OpenSSHの活用
第5回:ユーザーアカウントとアクセス制限
第4回:テスト環境を構築する
第1回:Linuxでサーバーを構築しよう