PHPとMySQLでクラウドサイトを作成し、Gitを使用してデプロイする

このガイドには、Windows AzureでPHPおよびMySQLベースのWebサイトを構築し、Gitを使用して展開する方法に関する情報が含まれています。 タスクを完了するには、コンピューターにインストールされているPHP 、MySQLコマンドラインツール( MySQLの一部)、Webサーバー、およびGitを使用する必要があります。 このマニュアルの手順は、Windows、Mac、Linuxなど、任意のオペレーティングシステムで実行できます。 すべての手順を完了すると、Windows Azureプラットフォームで実行されるPHP / MySQL Webサイトが作成されます。



このガイドで説明する内容:



このガイドの指示に従って、イベント参加者を登録するための簡単なPHP Webアプリケーションを作成します。 このアプリケーションは、Windows Azure Webサイトでホストされます。 以下は、完成したアプリケーションのスクリーンショットです。



clip_image002



開発環境のセットアップ



PHP 、MySQLコマンドラインツール( MySQLの一部)、Webサーバー、およびGitが既にコンピューターにインストールされていることが前提です。



ご注意 このアプリケーションの開発がWindowsで実行される場合、PHP 用のWindows Azure SDKをインストールすることにより、PHPを構成し、IIS(ビルトインWindows Webサーバー)を自動的に構成できます。



Windows Azureアカウントを作成する



Webブラウザーを開き、 http://www.windowsazure.comにアクセスます 。 無料アカウントを開始するには、 無料試用版の右上隅をクリックして、次の手順に従ってください。 本人確認を行うには、クレジットカードまたは携帯電話番号の提供が必要になる場合があります。 請求書は発行されません。



clip_image004



Windows Azure Webサイトをサブスクリプションに組み込む



https://account.windowsazure.com/にアクセスし、Windows Azureアカウントでサインインします。 プレビュー機能要素をクリックして、利用可能なプレビューオプションを表示します。



clip_image006



[ Webサイト ]までスクロールし、[ 今すぐ試す ]ボタンをクリックします。



clip_image008



サブスクリプションを選択して、チェックボックスをオンにします。



clip_image010



Windows Azure Webサイトを構築し、Gitの公開を構成する



Windows Azure WebサイトとMySQLデータベースを作成するには、次の手順を実行します。 Windows Azureポータル(プレビュー)にサインインします。 ポータルの左下にある[ +新規 ]アイコンをクリックします。



clip_image011



[ Webサイト]をクリックし、[ データベースで作成]をクリックします。



clip_image012



[ URL]フィールドに値を入力し、[ データベース]ドロップダウンリストから[ 新しいMySQLデータベースの作成]を選択し、[ 地域]ドロップダウンリストでWebサイトのデータセンターを指定します。 ダイアログボックスの下部にある矢印をクリックします。



clip_image013



データベースの[ NAME]フィールドに名前を入力し、[ REGION]ドロップダウンリストでデータベースのデータセンターを選択し、チェックボックスを選択して、法的条件への同意を表明します。 ダイアログボックスの下部にあるチェックボックスをクリックします。



clip_image014



Webサイトを作成した後、Webサイト[SITE_NAME]の作成が正常完了しましたというメッセージが表示されます。 これで、Git公開を有効にできます。



Webサイトリストに表示されているWebサイト名をクリックして、 QUICKSTART Webサイトクイック起動ツールバーを開きます。



clip_image015



QUICKSTARTページの下部にある[ Git公開の設定 ]をクリックします。



clip_image016



Gitの公開を有効にするには、ユーザー名とパスワードを提供する必要があります。 入力したユーザー名とパスワードを覚えておいてください。 (Gitリポジトリーを以前に構成した場合は、このステップをスキップできます。)



clip_image017



リポジトリのセットアップには数秒かかります。



clip_image018



リポジトリの準備が整うと、アプリケーションファイルをリポジトリに配置する手順が表示されます。 これらの指示は後で必要になるため、覚えておいてください。



clip_image019



MySQLのリモートデータベース接続情報の取得



Windows Azure Webサイトで実行されているMySQLデータベースインスタンスに接続するには、接続情報が必要です。 この情報を取得するには、次の手順に従ってください。



ページの右側にあるWebサイトのクイック起動パネルで、 [接続文字列表示 ]リンクをクリックします



clip_image021



Database



Data Source



User Id



、およびPassword



の値を覚えておいてください。



ローカルコンピューターでのアプリケーションの作成とテスト



Windows Azure Webサイトを作成したら、アプリケーションを開発し、ローカルコンピューターでテストしてから展開できます。



登録アプリケーションは、ユーザーの名前とメールアドレスを入力してイベント参加者を登録するためのシンプルなPHPアプリケーションです。 以前に登録された参加者に関する情報が表に表示されます。 登録情報は、MySQLデータベースのインスタンスに保存されます。 このアプリケーションは2つのファイルで構成されています(コピーと貼り付けのコードを以下に示します)。



アプリケーションをローカルで作成して実行するには、次の手順を実行します。 PHP、MySQLコマンドラインツール(MySQLの一部)、およびWebサーバーがローカルコンピューターにインストールされており、 MySQLPDO拡張機能が有効になっていることを前提としています。



以前に取得したData Source



User Id



Password



およびDatabase







値を使用して、リモートMySQLサーバーに接続します。



mysql -h {データソース] -u [ユーザーID] -p [パスワード] -D [データベース]



MySQLコマンドラインが開きます。



mysql>



次のCREATE TABLE



コマンドを貼り付けて、データベースにregistration_tbl



テーブルを作成します。



mysql> CREATE TABLE registration_tbl(id INT NOT NULL AUTO_INCREMENT、PRIMARY KEY(id)、name VARCHAR(30)、email VARCHAR(30)、date DATE);



Webサーバーのルートディレクトリにregistration,



という名前のフォルダーを作成しregistration,



その中にindex.php



という名前のファイルを作成します。 テキストエディタまたはIDEでindex.phpを開き、次のコードを追加します。 次に、必要な変更を行い、コメント//TODO:



でマークします//TODO:







 <html> < head> < Title>Registration Form</Title> < style type="text/css"> body { background-color: #fff; border-top: solid 10px #000; color: #333; font-size: .85em; margin: 20; padding: 20; font-family: "Segoe UI", Verdana, Helvetica, Sans-Serif; } h1, h2, h3,{ color: #000; margin-bottom: 0; padding-bottom: 0; } h1 { font-size: 2em; } h2 { font-size: 1.75em; } h3 { font-size: 1.2em; } table { margin-top: 0.75em; } th { font-size: 1.2em; text-align: left; border: none; padding-left: 0; } td { padding: 0.25em 2em 0.25em 0em; border: 0 none; } < /style> < /head> < body> < h1>Register here!</h1> < p>Fill in your name and email address, then click <strong>Submit</strong> to register.</p> < form method="post" action="index.php" enctype="multipart/form-data" > Name <input type="text" name="name" id="name"/></br> Email <input type="text" name="email" id="email"/></br> < input type="submit" name="submit" value="Submit" /> < /form> <?php // DB connection info //TODO: Update the values for $host, $user, $pwd, and $db //using the values you retrieved earlier from the portal. $host = "value of Data Source"; $user = "value of User Id"; $pwd = "value of Password"; $db = "value of Database"; // Connect to database. try { $conn = new PDO( "mysql:host=$host;dbname=$db", $user, $pwd); $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); } catch(Exception $e){ die(var_dump($e)); } // Insert registration info if(!empty($_POST)) { try { $name = $_POST['name']; $email = $_POST['email']; $date = date("Ymd"); // Insert data $sql_insert = "INSERT INTO registration_tbl (name, email, date) VALUES (?,?,?)"; $stmt = $conn->prepare($sql_insert); $stmt->bindValue(1, $name); $stmt->bindValue(2, $email); $stmt->bindValue(3, $date); $stmt->execute(); } catch(Exception $e) { die(var_dump($e)); } echo "<h3>Your're registered!</h3>"; } // Retrieve data $sql_select = "SELECT * FROM registration_tbl"; $stmt = $conn->query($sql_select); $registrants = $stmt->fetchAll(); if(count($registrants) > 0) { echo "<h2>People who are registered:</h2>"; echo "<table>"; echo "<tr><th>Name</th>"; echo "<th>Email</th>"; echo "<th>Date</th></tr>"; foreach($registrants as $registrant) { echo "<tr><td>".$registrant['name']."</td>"; echo "<td>".$registrant['email']."</td>"; echo "<td>".$registrant['date']."</td></tr>"; } echo "</table>"; } else { echo "<h3>No one is currently registered.</h3>"; } ?> < /body> < /html>
      
      





これで、 http://localhost/registration/index.phpファイルに移動して、アプリケーションをテストできます。



アプリケーションを公開



ローカルコンピューターでテストした後、Gitを使用してWindows Azure Webサイトにアプリケーションを公開できます。 ローカルGitリポジトリを有効にして、アプリケーションを公開します。



ご注意 「Windows Azure Webサイトの作成」および「Git発行の構成」セクションの最後の手順に従います。



(オプション)リモートGitリポジトリのURLを忘れた場合、または紛失した場合は、ポータルの[展開]タブに移動します。



clip_image019[1]



GitBash(またはGitがPATH



リストされている場合はターミナル)を開き、アプリケーションのルートディレクトリに移動して、次のコマンドを実行します。



git init

git add。

git commit -m "初期コミット"

git remote add azure [リモートリポジトリのURL]

git push azure master



前に作成したパスワードの入力を求められます。



clip_image023



ファイルhttp:// [site_name] .azurewebsites.net / index.phpを参照して、アプリケーションの操作を開始します(この情報はアカウントダッシュボードに保存されます)。



clip_image024



アプリケーションを公開すると、Gitを使用して変更を加えて公開できます。



アプリケーションへの変更の投稿



アプリケーションに変更を送信するには、次の手順を実行します。



アプリケーションをローカルで変更します。 GitBash(またはGitがPATHにリストされている場合はターミナル)を開き、アプリケーションのルートディレクトリに移動して、次のコマンドを実行します。



git add。

git commit -m「変更を説明するコメント」

git push azure master



前に作成したパスワードの入力を求められます。



clip_image026



ファイルhttp:// [site_name] .azurewebsites.net / index.phpを参照して、アプリケーションと加えられた変更を表示します。



clip_image027



管理ポータルの[展開]タブに新しい展開が表示されます。



clip_image029







All Articles