Plesk Obsidianリリース記念!Plesk最大7カ月無料キャンペーン

2012/1/13

【実証】EC-CUBEでWebサイトを立ち上げる(前編)

GMOクラウド株式会社の芦田です。今年も、イロイロなテーマを打ち出した記事でブログを更新していきますよ! さて、「Web担当者のためのクラウド講座」 の連載では、クラウドサービスを利用してWebサイトを運用するメリットや注意事項、サイト構築の前に行う準備の内容などについて解説しました。今回はそこから一歩話を進めて、CMS(Contents Management System)を利用して実際にWebサイトを構築する具体的な手順を紹介します。Xenベースの仮想サーバーの環境はCentOS、CMSとしてはオープンソースの 「EC-CUBE」を使用します。

1 仮想サーバーの構成

まず、システムの物理的な構成を考えましょう。今回はオーソドックスに図1.1のような形にしてみます。ユーザーがアクセスするWebサーバーと、商品などの情報を格納するデータベースサーバーを分離する構成です。

ホスト名は、ここでは仮にWebサーバーの方を「kumolabo-test」、データベースサーバーの方を「kumolabo- mysql」とし、OSはいずれも32bit版のCentOSを使います。kumolabo-testの方にはApacheをインストールしてPHPを使えるように設定し、その上でEC-CUBEを動かします。kumolabo-mysqlにはデータベースシステムとしてMySQLをインストールします。
ネットワークは、kumolabo-testにのみグローバルIPを割り当て、kumolabo-testとkumolabo-mysqlは ローカルのネットワークで接続します。また、それぞれの仮想サーバーで不要なポートへのアクセスは遮断するようにファイアウォールを設定します。 実際の運用には、この他にサーバー管理ツールやアクセス解析ツール、セキュリティ対策ソフトウェアなどが必要になるかと思いますが、今回は話を簡単にするためにとりあえずこの程度にしておこうと思います。

2 Webサイト用サーバーの作成

まず、Webサイト用のサーバーである「kumolabo-test」の方を作ります。仮想サーバーの構築方法については「3分で仮想サーバーを立ち上げる!【前編】/【後編】」を参考にしてください。ハイパーバイザーはXenを選択します。そして、テンプレートは、ApacheやPHPが設定済みの「CentOS 5.5 LAMP x86」を使います。ただし、MySQLはクライアント機能しか必要ないので、サーバー機能は起動しないようにあとで設定します。

ネットワークインタフェースは、今回はグローバル用とローカル用で2つ必要になりますが、仮想サーバーの作成時には1つしか割り当てることができません。なので、作成時にはまずグローバル側を設定しておくことにします。ネットワークゾーンの選択で「Public Network Zone」を選べば、グローバルIPが割り当てられます。自動バックアップとオートスケールも有効にしておきます。

仮想サーバーが作成できたら、ローカル側のネットワークインタフェースを作成しましょう。クラウドコンソールの仮想サーバーメニューから [ネットワーク]-[ネットワークインタフェース]を選択すると、ネットワークインタフェースの一覧が表示されます。最初はグローバル側の「eth0」のみがあります。


図2.1 最初はeth0のみ用意されている

ここで[ネットワークインタフェースの新規追加]ボタンをクリックして、ローカル側のインタフェースを追加します。図2.2のように物理ネットワークの設定で「ローカル01」を選択してください。ラベルは何でもいいのですが、ここでは「eth1」としておきます。


図2.2 ローカルネットワーク用のeth1を追加

[ネットワークインタフェースの追加]ボタンを押すと図2.3のように確認のダイアログが出るので、[OK]をクリックすればネットワークインタフェース「eth1」が追加されて一覧に出てきます。


図2.3 ネットワーク構成の変更には仮想サーバーの再起動が必要


図2.4 eth1が追加された

続いて、eth1にIPアドレスを割り当てましょう。[ネットワーク]-[IPアドレス]と選んでIPアドレスの一覧を表示させると、最初はeth0に割り当てられているグローバルのものだけが表示されます。


図2.5 割り当てられているIPアドレスの一覧。最初はeth0のみ

そこで、[新規IPアドレスの割り当て]をクリックして、図2.6のようにeth1用にローカルIPアドレスを割り当てましょう。IPアドレスは未使用のものから好きなものを選べます。左からIPアドレス、サブネットマスク、ゲートウェイのIPアドレスになっています。


図2.6 eth1にローカルのIPアドレスを割り当てる

割り当てに成功すると、IPアドレスの一覧に出てくるようになります。


図2.7 [ネットワークの再構築]をクリックして変更を反映させる

ここで、変更を反映させるために[ネットワークの再構築]ボタンをクリックします。「仮想サーバーが再起動されます」というダイアログが出るので、[OK]を押せば、仮想サーバーの再起動がかかってネットワーク設定の変更が反映されます。

3 データベースサーバーの作成

続いて、データベースサーバーとなる「kumolabo-mysql」の方を作成しましょう。こちらはApacheは必要なくMySQLの サーバーだけが立ち上がって入ればいいので、テンプレートは「CentOS 5.5 x86」を使い、後からMySQLをインストールすることにします。ネットワークはkumolabo-testとローカルネットワークでつながっていれば いいので、ネットワークゾーンは「Local Network Zone」を選び、ローカルのIPアドレスが割り当てられるようにしておきましょう。


図図3.1 kumolabo-mysqlにはローカルのIPアドレスのみ割り当てる

4 ファイアウォールの設定

2つの仮想サーバーができたら、ファイアウォールを設定しましょう。まずkumolabo-testの方ですが、eth0に対する外部からの アクセスは、指定したポート以外は全て遮断(DROP)するようにします。許可するポートとしては、SSH通信用の22番と、Webサーバー用の80番は 必ず必要です。その他は必要に応じて追加してください(下の例ではメールサーバー用のポートに対するアクセスも許可しています)。ローカル側である eth1は、kumolabo-mysqlからのアクセスのみ許可するように設定します。


図4.1 kumolabo-testのファイアウォールの設定例

kumolabo-mysqlの方は、kumolabo-testからのアクセスのみ許可して、その他のアクセスは全て遮断するように設定します。


図4.2 kumolabo-mysqlのファイアウォールの設定例

この例では、ローカルの通信に関してはポートは指定していないので全てのポートに対するアクセスが許可されますが、ここでも必要なポートのみ許可するように設定した方がより堅固になるでしょう。なお、MySQLサーバーが使うポートはデフォルトの設定では3360番です。
次回の「EC-CUBEでWebサイトを立ち上げる(後編)」では、作成した2つの仮想サーバーにMySQLやEC-CUBEをインストール/設定する方法を解説します。


コラム一覧へ