SQL Server on Linux

現在、うちで開発している主力製品のサブシリーズのデータベースは、
Microsoft SQLServer Expressで動いているが、
クライアント兼サーバー(親子)としているので、
その機を不意に再起動してしまうと、全滅してしまう・・・

ということで、

別にサーバーを立ててくれとの要望があり、
単独でとなると、やはりそれなりの気を使う。

 

そもそも、親子で使っているのが間違っているんだが、
PC1台分のコストでも、下げてあげたい。
と思った訳だけど、

出来ることなら、別にして、せめて

  • RAID0でも組んだPC上に、(BIOS RAIDでもいい)
  • サーバーOSを載せた上で、

データベース・サーバーぐらいは、動かしたい!

***

ということで、サーバーOSにWindowsを選ぶと、
楽ちんだけど、お金がかかるので、
やっぱり、

帝王のLINUXの登場となる。

「SQL Server Linux」で検索してみると、
まさかと思ったけど、リリースしている。

Editions and supported features of SQL Server 2017 on Linux

SQL Server のエディションを選択します:
1) Evaluation (無料、製品使用権なし、期限 180 日間)
2) Developer (無料、製品使用権なし)
3) Express (無料)
4) Web (有料)
5) Standard (有料)
6) Enterprise (有料)

Expressもあり、無償みたいなので、
OS・DBサーバーともに、無料で使えそう。

※小規模のデータベースで、On Linuxなら、
Mysqlやpostgresqlでいいんだけど、
これまで、SQL Server で構築してきたノウハウがある分、
SQL Serverを選んでしまう。

 

古いPentium D機をRAID 0したやつが、どっかに転がっていたはずなので、
とりあえず、運用テストでもしてみることに。

 

Redhat Linuxは、サポートが有償のLinuxだけど、その派生?のCentOSを使うのが、安心そう。

レッドハットはRHELに含まれているソフトウェアのソースコードをオープンソースライセンスに基づき無償公開している。CentOSは、このソースコードをもとに、レッドハットの商標や商用パッケージ等を除去したものをリビルドしている。CentOSは、White Box Enterprise Linux、Scientific Linux等を含めて、一般に「RHELクローン」と呼ばれることもある。

参 >> CentOS @Wikipedia

続く。

PS.
Linuxの派生ツリー。
途中で消えたやつもあったり、まだ生きてるやつが居たり。

>> Linux ディストリビューション @Wikipedia

-

phpでwebhookを受け取る@omise.co

現在、弊社の主力商品であるASPシステムを

維持費がなく、手数料が安い、
omise.coに移行します。

***

当時は、今使っている決済会社しかなかったのと、
omise.coが日本上陸初年度だったこともあり、
信頼感に欠けるため、客様に否定され、使用することが出来なかったのですが、

 

ECCUBE 2.13を使っているので、プラグインも用意されているので、
※3.x系は未対応
通常の決済では、このプラグインだけで十分ですが、
決済完了後に、別途メールを送信するため、

omise.co のダッシュボードにある「webhooks」を使い、
キックバックで、リアクションをもらい、
メールを送信します。

データは、POSTで送られ、JSON型であることは、
サポートに書かれている通り。

https://www.omise.co/api-webhooks

で、POSTされたデーターを見たいんだけど、
var_dump($_REQUEST)
としても、何も表示されず、1日格闘。

今日は、土曜日ということもあって、問い合わせも出来ず。

参考資料は、

だけ。

しかもあるのは、RubyとGoogleAppsScriptのサンプルだけ。
ほしいのは、PHP

 

php リクエストボディ json

ご存知の方はの方が多いと思うが、「JSON型はPOSTに値を含んでいない」らしく、
不具合ではなく、別に格納されていることに気づき、
調べてところ、

$json = file_get_contents(‘php ://input’);

要は、無知なだけだった・・・

あとは、配列に戻して、受注番号などを元に、
メールを送信するだけ。

$_ = json_decode($json, true);

 

既に、「変更したらこんなにお得!」なんて、
大風呂敷広げちゃったものだから、もうヒヤヒヤものでしたが、

あとは、申請して審査を待つだけ。

 

残る課題は、keyに入っている値。

クレジットの新規決済のときは、「charge.create」だけで良さそうだが、

charge.complete
課金が完了した時 (3Dセキュア、アリペイ、及びインターネットバンキング利用時)charge.complete 課金が完了した時 (3Dセキュア、アリペイ、及びインターネットバンキング利用時)

>>https://www.omise.co/ja/api-webhooks

とあり、

switch ($_[‘key’]) :
case ‘charge.create’:
/* なんか処理 */
endswitch;

の、caseを増やしていけばいいのかな?

-