2016年9月3日土曜日

AzureのAppServiceで MySQL In App (プレビュー)なるものを見つけたので、EC-CUBE3を構築してみた

SYSTEM_KDです。

久々に、AzureのAppServiceで作ったEC-CUBE3環境(非公開)のコンソールを開いてたら、「MySQL In App (プレビュー)」なるものを発見したので、EC-CUBE3の環境を構築してみようと思います。

(試して書く方式ではなく、今試しながら作っていくのでゴールできるか分かりません!)

 

Web + MySQL 環境を作成

では早速。

「+新規」から、「すべて表示」を選択。

image

 

表示されたら、「Web + モバイル」を選択。

image

 

フィルターへ「mysql」とかを入力して、「Web App + MySQL」を探す。

image

 

「作成」を押して、必要情報を入力。

その際、「データベース プロバイダー」は、「MySQL In App (プレビュー)」を選択します。

※ちなみにプランは、無料プランです

image

 

入力できたら、作成。

 

PHPMyAdminへアクセス

環境が作成できたので、メニューの中の「MySQL In App (プレビュー)」を選択してみます。

image

 

上部にある「管理」ボタンを押すと、PHPMyAdmin へアクセスできました。

 

image

 

おぉー

 

・・・

・・・

 

IDとパスワード何ですか??

 

・・・

ググってみた結果、DB名は「azuredb」だということが判明しましたが、肝心のIDとパスワードが何なのかよくわからんです。

(デプロイ用の情報とかを入れてみたけどダメでした)

 

・・・・

・・・・

 

あ、よくみたら、先程の MySQL In App (プレビュー) ページに、接続文字列の環境変数というものがありました。

image

 

ここへ入ってるかもしれないので、確認してみます。

(って、どうやって見るんだこれ)

 

MySQL への接続情報を取り出す

ググってみたら、それっぽいページを見つけたので、参考にしてみます。

https://blogs.msdn.microsoft.com/appserviceteam/2016/08/18/announcing-mysql-in-app-preview-for-web-apps/#mysqlconnect

 

接続情報を取り出している部分だけ、お借りして。

以下のように、xxx.php 処理を作成。

<?php

$connectstr_dbhost = '';
$connectstr_dbname = '';
$connectstr_dbusername = '';
$connectstr_dbpassword = '';

foreach ($_SERVER as $key => $value) {
if (strpos($key, "MYSQLCONNSTR_localdb") !== 0) {
    continue;
}

$connectstr_dbhost = preg_replace("/^.*Data Source=(.+?);.*$/", "\\1", $value);
$connectstr_dbname = preg_replace("/^.*Database=(.+?);.*$/", "\\1", $value);
$connectstr_dbusername = preg_replace("/^.*User Id=(.+?);.*$/", "\\1", $value);
$connectstr_dbpassword = preg_replace("/^.*Password=(.+?)$/", "\\1", $value);
}

print_r("connectstr_dbhost = " . $connectstr_dbhost . "<br>");
print_r("connectstr_dbname = " . $connectstr_dbname . "<br>");
print_r("connectstr_dbusername = " . $connectstr_dbusername . "<br>");
print_r("connectstr_dbpassword = " . $connectstr_dbpassword . "<br>");

 

FTPでアップして、上記のページアクセス!

とれたー!!

 

って、

https://blogs.msdn.microsoft.com/appserviceteam/2016/08/18/announcing-mysql-in-app-preview-for-web-apps/#mysqlconnect

にのってるIDとパスワードじゃないか・・・。

image

 

ということで、このIDとパスワードを利用して、phpMyAdmin へアクセスできました。

 

EC-CUBE3をインストール

MySQLへの接続情報をゲットできましたので、EC-CUBE3をインストールしてみます。

まずは、ソースを配置します。

 

AzureへEC-CUBE3を設置する際、展開したファイルをアップする方法を行っていたのですが、「vendor」のファイル数が多いのもありうちの貧弱ネット環境だと、結構時間がかかるし、かといって圧縮した状態でアップ後に展開してもタイムアウトして上手く展開できなかったりするので、バシッと行くのがないんですよね。。

ということで、今回はローカルGitからアップします。

(それなりに、時間はかかりますが、他の方法より早いし、後々の管理も楽です)

 

まぁ、好きな方法でファイルをアップします。

ちなみに、今回インストールする、EC-CUBEのバージョンは 3.0.10 です。

 

ファイルがアップできたので、インストールしていきます。

 

save image

次へ進む。

 

save image

 

おっと、権限チェックにひっかかりました。

Azure は自動でディレクトリ作れない仕様だったはずですので、手動で指定されたディレクトリを作成します。

save image

 

ディレクトリを作成すれば、次へ進めるようになるので、次は「サイトの設定」を入力します。

(まぁ説明不要ですね)

 

次はいよいよ、データベースの設定です。

save image

 

取得したMySQLの接続情報を設定します。

(ポート番号含め、全部設定)

 

save image

 

おぉ!!あっさり接続できました!!

 

あとは、テーブルの作成が上手くいくか・・・。

(ClearDBの無料枠は、同時接続数に阻まれて簡単には作成させてもらえないんですよね。。)

 

・・・・

save image

 

完了!!!!

 

まとめ

Azureの無料枠というか無料に踊らされて、何回かEC-CUBE3をインストールしましたが、今回はかなりさくっとインストールできました。

しかも、(PHP7にしている恩恵もあるかもしれませんが)無料枠でもそれなりのレスポンスで動作してくれる気がします。

私の感覚としては、SQLiteで動作させたときよりもレスポンスよさ気です。

 

ということで、ちょっと整えたらプラグインのデモ環境用に公開したいと思います!!

 

以上、AzureのApp Service で MySQL In App (プレビュー)なるものを見つけたので、EC-CUBE3を構築してみた でした。

2016年8月22日月曜日

Nexus5XとNexus7のセキュリティアップデート(2016年8月)

SYSTEM_KDです。

 

アップデートは10日以上前に実施済みでしたが、まとめれずこのタイミングとなっておりますが、セキュリティアップデート 2016年8月分です。

 

Nexus5Xセキュリティアップデート

まずは、Nexus5Xのセキュリティアップデートから。

 

update

 

更新サイズは、63.2MB です。

最近、Android関連の脆弱性についてよく見かけるからかどうかは分かりませんが、容量はわりと大きめです。

 

更新後は、

Androidセキュリティパッチレベルが、2016年8月5日

ビルド番号が、MTC20F

となりました。

 

setting

 

 

Nexus7(2013)セキュリティアップデート

続きまして、Nexus7(2013)です。

 

update

 

えっと・・・、説明完全に英語でした。

 

更新サイズは、24.1MB。 こっちもいつもより大きめですね。

 

アップデート後は、

Androidセキュリティパッチレベル、2016年8月5日

ビルド番号は、MOB30X

となりました。

 

setting

 

 

Nexus7、今月もアップデートきてくれましたが、そろそろ終わるんじゃないかと若干心配してたりします。

 

以上、Nexus5XとNexus7のセキュリティアップデート(2016年8月)でした。

2016年8月4日木曜日

EC-CUBE3向けプラグイン、メンテナンスプラグインをリリース

SYSTEM_KDです。

 

EC-CUBE3向けプラグイン「メンテナンスプラグイン」をリリースしました。

 

logo

 

メンテナンスプラグイン

サイトをメンテナンス状態にする場合に利用できるプラグインになります。

作業のため、一時的にサイトをメンテナンス状態にしたいといった場合にご利用頂けます。

 

機能としましては、EC-CUBE3のフックポイントを利用したものになります。このため、サイトにシステムエラーが発生したのでメンテナンス状態にしたいといった場合にはご利用頂けないものになっております。

(EC-CUBEの機能でメンテナンス画面を表示しているので、そもそもEC-CUBEが動作しない状態になったら、プラグインも動作しないという状態です)

 

ですが、逆にEC-CUBEの機能を利用し、メンテナンス画面を表示しておりますので、設定画面からメンテナンスのON・OFFを簡単に切り替えれたり、メンテナンス状態の場合に管理者だけは、フロント側を閲覧可能にする(もちろん管理側は操作可能)といったことが可能となっております。

 

ちなみに、メンテンナンス状態に表示されるページの内容は、HTMLで設定できるようになっております。

 

概要

 

何の変哲もないメンテンナンスプラグインですが、お値段「無料」となっておりますので、宜しければご利用下さい!!

メンテンナンスプラグイン

 

※上記リンクのページ内にて、その他プラグインもまとめてご紹介しておりますので、良さそうなのがありましたら、合わせてよろしくお願い致します!

 

以上、メンテンナンスプラグインのご紹介でした。