Compute Engine での LAMP の設定

このページでは、仮想マシン上で実行されている LAMP スタックを取得する方法を示します。Debian、Ubuntu、または CentOS インスタンスで LAMP を設定するには、このチュートリアルの手順に従ってください。

また、Google Cloud Launcher を使用して、LAMP スタックを自動的にデプロイすることもできます。

目標

  • 仮想マシン インスタンスを作成する
  • SSH を使用してインスタンスに接続する
  • インスタンス上で LAMP スタックをデプロイする
  • ファイルを転送する
  • DNS マッピングを設定する

費用

このチュートリアルでは、以下を含む、Cloud Platform の課金対象となるコンポーネントを使用しています。

  • Google Compute Engine

料金計算ツールを使用すると、想定される利用方法に基づいて費用の見積もりを作成できます。 Cloud Platform を初めて使用する方は、無料トライアルをご利用いただけます。

始める前に

  • GCP プロジェクトを選択または作成します。

    [リソースの管理] ページに移動

  • プロジェクトに対して課金が有効になっていることを確認します。

    課金を有効にする方法について

仮想マシン インスタンスの作成

Google Cloud Launcher を使用すると、最小限の労力でインスタンス上で LAMP スタックを自動的にデプロイできます。

また、以下の手順に沿って、Google Cloud Platform Console を使用して LAMP スタックをデプロイすることもできます。

  1. GCP Console の [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. [インスタンスを作成] をクリックします。
  3. [名前] をlamp-tutorialに設定します。
  4. [マシンタイプ] をf1-microに設定します。
  5. [ブートディスク] の [変更] をクリックし、ブートディスクの構成を開始します。
  6. OS イメージタブでDebian 7.x、Ubuntu 14.04 または CentOS 6.x バージョンを選択します。

  7. [選択] をクリックします。
  8. [ファイアウォール] で、[HTTP トラフィックを許可する] と [HTTPS トラフィックを許可する] を選択します。
  9. [作成] をクリックしてインスタンスを作成します。

インスタンスが起動するまで数秒お待ちください。

Compute Engine での LAMP スタックのデプロイ

仮想マシン インスタンスが実行されたので、LAMP スタックを設定します。

インスタンスに接続する

Cloud Platform Console 内から SSH を使用するか、Cloud SDK の一部である gcloud compute ssh コマンドを使用して、インスタンスに直接接続できます。このチュートリアルでは、Cloud Platform Console での手順を示します。

  1. GCP Console の [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. 仮想マシン インスタンスのリストで、接続するインスタンスの行の SSH をクリックします。

  3. VM インスタンスの IP アドレスをメモしておきます。このアドレスは、[外部 IP] の列に表示されます。

Apache と PHP をインスタンスにインストールする

インスタンスの作成により、LAMP の「Linux」部分は既に用意されています。次に、Apache と PHP をインストールします。

Debian / Ubuntu

sudo apt-get update
sudo apt-get install apache2 php5

CentOS 6

  1. Apache と PHP をインストールします。

    sudo yum check-update
    sudo yum -y install httpd php
    
  2. Apache サービスを開始します。

    sudo service httpd start
    
  3. オプション: 自動的に起動するように Apache サービスを設定します。

    sudo chkconfig httpd on
    

Apache と PHP をテストする

  1. この手順では、インスタンスの外部 IP アドレスが必要となります。Cloud Platform Console の [VM インスタンス] ページでアドレスを確認できます。

    [VM インスタンス] ページに移動

    ブラウザで、外部 IP アドレスを入力して、Apache が実行されていることを確認します。

    http://[YOUR_EXTERNAL_IP_ADDRESS]
    

    Apache のテストページが表示されます。

  2. デフォルトのウェブサーバーのルートにテストファイルを作成します。

    sudo sh -c 'echo "<?php phpinfo();?>" > /var/www/html/phpinfo.php'
    
  3. テストファイルを参照して、Apache と PHP が連携して動作していることを確認します。

    http://[YOUR_EXTERNAL_IP_ADDRESS]/phpinfo.php
    

    現在の Apache 環境に関する情報を提供する標準の PHP 情報ページが表示されます。

ページの読み込みに失敗した場合(HTTP 404)、以下を確認します。

  • Cloud Platform Console で、インスタンスに対して HTTP トラフィックが許可されている
  • URL で正しい IP アドレスとファイル名が使用されている

MySQL をインスタンスにインストールする

MySQL と関連する PHP コンポーネントをインストールします。

Debian / Ubuntu

sudo apt-get install mysql-server php5-mysql php-pear

CentOS 6

  1. MySQL と関連コンポーネントをインストールします。

    sudo yum -y install httpd mysql-server php php-mysql
    
  2. MySQL サービスを開始します。

    sudo service mysqld start
    
  3. オプション: 自動的に起動するように MySQL サービスを設定します。

    sudo chkconfig mysqld on
    

MySQL を設定する

MySQL をインストールしたので、次に、mysql_secure_installation コマンドを実行してインストールのセキュリティを向上する必要があります。これにより、ルートユーザーのパスワードの設定(まだ設定されていない場合)、匿名ユーザーの削除、ローカルマシンへのルートユーザーによるアクセスの制限、テスト データベースの削除などの処理が行われます。

sudo mysql_secure_installation

ファイルの転送

FTP や gcloud コマンドなど、ウェブサーバーを実行する VM インスタンスにファイルを転送する方法は複数あります。詳細については、Linux インスタンスへのファイルの転送をご覧ください。このチュートリアルでは、Cloud SDK の一部である gcloud コマンドを使用します。

copy-files コマンドを使用して、ファイルをインスタンスにコピーします。次の例では、ワークステーションからインスタンスのホーム ディレクトリにファイルをコピーします。

gcloud compute copy-files [LOCAL_FILE_PATH] lamp-tutorial:/var/www/html

[LOCAL_FILE_PATH] をワークステーション上のファイルのパスに置き換えます。

また、コピー元の変数とコピー先の変数を入れ替えることで、インスタンスからローカル ワークステーションにファイルをコピーすることもできます。次の例では、インスタンスからワークステーションにファイルをコピーします。

gcloud compute copy-files lamp-tutorial:/var/www/html [LOCAL_FILE_PATH]

[LOCAL_FILE_PATH] をワークステーション上のファイルのコピー先とする場所のパスに置き換えます。

DNS の設定

ソフトウェア スタックを設定し、ファイルを転送した後、必要に応じて独自のドメイン名をサイトにマッピングできます。独自の DNS システムを完全に制御する必要がある場合は、ドメイン ネーム サービス(DNS)プロバイダとして機能する Google Cloud DNS を使用できます。Cloud DNS に固有の手順が必要な場合は、クイックスタートをご覧ください

このチュートリアルでは、ドメイン登録事業者など、サードパーティ プロバイダを介して DNS を設定する一般的なシナリオについて説明します。

既存の DNS プロバイダを使用する場合は、そのプロバイダ用のレコードを作成する必要があります。このレッスンでは、Compute Engine でホストされているウェブサイトを指すように example.comwww.example.com がマッピングされていると仮定しています。

example.com ドメイン名については、DNS プロバイダ用の A レコードを作成します。www.example.com サブドメインについては、wwwexample.com ドメインを指すように CNAME レコードを作成します。A レコードは、ホスト名を IP アドレスにマッピングします。CNAME レコードは、A レコードのエイリアスを作成します。このレッスンでは、example.comwww.example.com が同じ IP アドレスにマッピングされていると仮定しています。

  1. インスタンスの外部 IP アドレスを取得します。Cloud Platform Console の [VM インスタンス] ページから IP アドレスを確認できます。

    [VM インスタンス] ページに移動

  2. プロバイダの DNS 管理インターフェースにログインし、管理するドメインを見つけます。具体的な手順については、DNS プロバイダのドキュメントをご覧ください。
  3. A レコードを作成し、値を外部 IP アドレスに設定します。名前またはホスト フィールドは、独自ドメインを表す @ に設定できます。詳細については、さまざまな DNS タスクの実行に役立つ情報を提供する Google Apps サポートページをご覧ください。
  4. CNAME レコードを作成し、名前を www に設定し、値を @ またはホスト名とピリオド(例: example.com.)に設定します。 さまざまなプロバイダ用の A レコードを作成する方法については、Google Apps のヘルプセンターをご覧ください。
  5. プロバイダに適している場合は、変更が行われたことを反映するために、SOA レコードのシリアル番号を増やします。これにより、レコードが反映されます。

DNS の変更を確認する

Google Domains など、ドメイン名登録事業者が DNS プロバイダでもある場合は、通常、すべて設定されています。登録と DNS に別々のプロバイダを使用している場合は、ドメインに関連付けられた正しいネームサーバーがドメイン名登録事業者で使用されていることを確認してください。

ゾーンの有効期間(TTL)値によっては、DNS を変更してから、レコードの更新が反映されるまでしばらく時間がかかることがあります。変更内容が新しいホスト名である場合は、速やかに変更が有効になる必要があります。これは、DNS リゾルバでは、以前の値はキャッシュされず、DNS プロバイダに問い合わせてリクエストのルーティングに必要な情報が取得されるためです。

クリーンアップ

LAMP のチュートリアルが終了したら、Google Cloud Platform で作成したリソースについて料金が発生しないようにクリーンアップすることができます。以下のセクションで、このようなリソースを削除または無効にする方法を説明します。

プロジェクトの削除

課金を停止する最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。

プロジェクトを削除する手順は次のとおりです。

  1. GCP Console で [プロジェクト] ページに移動します。

    プロジェクト ページに移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

インスタンスを削除する

Compute Engine インスタンスを削除する手順は次のとおりです。

  1. GCP Console の [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. lamp-tutorialインスタンスの隣のチェックボックスをオンにします。
  3. ページの上部にある、[削除] ボタンをクリックし、インスタンスを削除します。

次のステップ

  • デフォルトでは、ウェブサーバーのドキュメント ルートは root ユーザーが所有しています。必要に応じて、別のユーザーに対してドキュメント ルートを設定したり、Apache の設定ファイルでディレクトリの場所を変更したりすることができます。

Debian / Ubuntu

ウェブサーバーのドキュメント ルートは /var/www/html で、Apache の設定ファイルは /etc/apache2/sites-available/default にあります。

CentOS

ウェブサーバーのドキュメント ルートは /var/www/html で、Apache の設定ファイルは /etc/httpd/conf/httpd.conf にあります。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Compute Engine ドキュメント