PHPのセッションハンドラを Microsoft Azure Table Storage に保存するためのプログラムを、githubに公開してみた。
https://github.com/cocteau666/php-azure-session/
Azure SDK for PHP に依存しています。
https://github.com/cocteau666/azure-sdk-for-php
Microsoft Azure でPHPを使う場合に、セッションデータをローカルに持たないようにするためにも、使ってみてはいかがでしょうか?
使い方は、こんな感じ。
require 'AzureTableSessionHandler.php';
$sessionHandler = new AzureTableSessionHandler($blob_account, $blob_key);
session_set_save_handler($sessionHandler, TRUE);
session_start();
シンプルですねー。
2014年7月30日水曜日
2014年7月14日月曜日
CentOS7 あれこれ
Microsoft Azure で CentOS7 を動かし始めて数日。
どうでも良いかもしれない、気が付いた事を。
1. firewalld ってもしかして Pythonスクリプト?
psコマンドで確認すると、以下のような表示が。
まさか、こいつ…。
と思って vim で開いたら、
こうすると、現在の設定が一覧表示されます。
$ sudo firewall-cmd --list-all-zone
httpd を永続的に追加するにはこうします。(若干、--permanent オプションにハマる)
$ sudo firewall-cmd --permanent --add-service=http --zone=public
3. gccにGO言語のコンパイラあるのね
gcc-go ってパッケージがあるんだー。知らなかったよ。
どうでも良いかもしれない、気が付いた事を。
1. firewalld ってもしかして Pythonスクリプト?
psコマンドで確認すると、以下のような表示が。
root 2726 1 0 20:17 ? 00:00:01 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
まさか、こいつ…。
と思って vim で開いたら、
#!/usr/bin/python -Es
# -*- coding: utf-8 -*-
ではじまってるんだが。
時間があったら見てみよう。
2. httpdを公開するために
firewalld が iptables の設定を管理するようになったので、設定方法が変わっています。
デフォルトでは ssh しか許可されてません。
httpd を許可するためには、firewalld が動作中に firewall-cmd コマンドで設定する必要があります。こうすると、現在の設定が一覧表示されます。
$ sudo firewall-cmd --list-all-zone
httpd を永続的に追加するにはこうします。(若干、--permanent オプションにハマる)
$ sudo firewall-cmd --permanent --add-service=http --zone=public
3. gccにGO言語のコンパイラあるのね
gcc-go ってパッケージがあるんだー。知らなかったよ。
2014年7月12日土曜日
さっそくMicrosoftAzureでCentOS7を動かしてみる
7月7日に公開になったCentOS7ですが、各方面で情報が出回っているかと思います。
http://centos.org
特徴としては、
ってところでしょうか。
※なお、私が作ったCentOS7のVMDepotイメージはこちらで。
http://vmdepot.msopentech.com/Vhd/Show?vhdId=42491&version=43576
MicrosoftAzureでCentOS7を動かすには、自分でHyper-Vからイメージをアップロードする必要があります。
必要なものは以下の通り。
基本的には、以下のリンクの通りで良いのですが、
http://www.atmarkit.co.jp/ait/articles/1405/29/news148.html
Azureで動作させるためのVHDには条件があり、サイズ固定で127GB以下である必要がありますのでご注意ください。
2. WALinuxAgentのインストール
インストールが終わったら、WALinuxAgentのインストールを行います。
以下のサイトからgitで取得します。(gitコマンドはyumでインストールできます)
https://github.com/Azure/WALinuxAgent
中身はPythonですので、以下のようにインストールを。
$ cd WALinuxAgent
$ sudo python setup.py install
ここでインストールされるのですが、systemd向けのスクリプトがありませんので、別途導入します。
$ sudo cp distro/systemd/waagent.service /etc/systemd/system/
$ sudo systemctl enable waagent
$ sudo systemctl start waagent
3. 設定の初期化
Azureでマイイメージとして利用するために、以下のように初期化を行います。
$ sudo waagent -deprovision
このコマンドは以下の処理を行います。
4. Azureストレージへのアップロード
仮想マシンを停止したら、作成したVHDをAzureストレージにPageBlobとしてアップロードします。
アップロード方法はPageBlobでアップロード可能であれば何でもOKです。
5. マイイメージの作成
Azureポータルにログインして、アップロードしたVHDファイルからイメージを作成します。
仮想マシン>イメージ>作成、ですね。
以下のように入力してイメージを作成すると、仮想マシン作成時にアップロードしたイメージから仮想マシンが作成できます。
6. 仮想マシンを作成して遊ぶ
あとは仮想マシンを作るだけです。
http://centos.org
特徴としては、
- Kernelが3.10.0
- Apacheが2.4系に
- systemdの採用(今までのinitではない)
- firewalldの採用(iptablesの設定を管理する)
- MariaDBの採用(MySQLの代替)
ってところでしょうか。
※なお、私が作ったCentOS7のVMDepotイメージはこちらで。
http://vmdepot.msopentech.com/Vhd/Show?vhdId=42491&version=43576
MicrosoftAzureでCentOS7を動かすには、自分でHyper-Vからイメージをアップロードする必要があります。
必要なものは以下の通り。
- Hyper-V(Windows8のものでOK)
- Azureストレージにアップロードするツール(私はCloudBerryExplorerでやりました)
- MicrosoftAzureサブスクリプション
- WALinuxAgent(githubより取得)
ハマるところだけいくつか解説します。
1. CentOS7をHyper-V上の仮想マシンにインストール
基本的には、以下のリンクの通りで良いのですが、
http://www.atmarkit.co.jp/ait/articles/1405/29/news148.html
Azureで動作させるためのVHDには条件があり、サイズ固定で127GB以下である必要がありますのでご注意ください。
2. WALinuxAgentのインストール
インストールが終わったら、WALinuxAgentのインストールを行います。
以下のサイトからgitで取得します。(gitコマンドはyumでインストールできます)
https://github.com/Azure/WALinuxAgent
中身はPythonですので、以下のようにインストールを。
$ cd WALinuxAgent
$ sudo python setup.py install
ここでインストールされるのですが、systemd向けのスクリプトがありませんので、別途導入します。
$ sudo cp distro/systemd/waagent.service /etc/systemd/system/
$ sudo systemctl enable waagent
$ sudo systemctl start waagent
3. 設定の初期化
Azureでマイイメージとして利用するために、以下のように初期化を行います。
$ sudo waagent -deprovision
このコマンドは以下の処理を行います。
- waagentの停止
- SSHホストキーのペアを削除
- DHCPリースの削除
- resolv.confの削除
- rootパスワードの削除
4. Azureストレージへのアップロード
仮想マシンを停止したら、作成したVHDをAzureストレージにPageBlobとしてアップロードします。
アップロード方法はPageBlobでアップロード可能であれば何でもOKです。
5. マイイメージの作成
Azureポータルにログインして、アップロードしたVHDファイルからイメージを作成します。
仮想マシン>イメージ>作成、ですね。
以下のように入力してイメージを作成すると、仮想マシン作成時にアップロードしたイメージから仮想マシンが作成できます。
6. 仮想マシンを作成して遊ぶ
あとは仮想マシンを作るだけです。
2013年5月21日火曜日
Windows Azure Storage で消せないVHDを削除するスクリプトの豆知識
時折、Windows Azure Storage からVHDが削除できなくなる場合があります。
そんなときは、これを実行するのですが。
http://social.msdn.microsoft.com/Forums/en-US/WAVirtualMachinesforWindows/thread/cc9bacfc-2c11-4010-b535-f1b0a141d317/
SDK2.0になってから、この「BreakLease.ps1」を実行する場合に、事前に下記のようなシェルを実行しなきゃならないんですね。
以下のうちの必要なものを登録しましょう。
今回は「2012-10」のSDKを使います。
>Add-Type -Path "C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref\Microsoft.WindowsAzure.Storage.dll"
>Add-Type -Path "C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref\Microsoft.WindowsAzure.StorageClient.dll"
他にはこんなのもあります。
>Add-Type -Path "C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref\Microsoft.ServiceBus.dll"
>Add-Type -Path "C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref\Microsoft.WindowsAzure.CloudDrive.dll"
>Add-Type -Path "C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref\Microsoft.WindowsAzure.Configuration.dll"
>Add-Type -Path "C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref\Microsoft.WindowsAzure.Diagnostics.dll"
>Add-Type -Path "C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref\Microsoft.WindowsAzure.ServiceRuntime.dll"
困ってたらどうぞ。
そんなときは、これを実行するのですが。
http://social.msdn.microsoft.com/Forums/en-US/WAVirtualMachinesforWindows/thread/cc9bacfc-2c11-4010-b535-f1b0a141d317/
SDK2.0になってから、この「BreakLease.ps1」を実行する場合に、事前に下記のようなシェルを実行しなきゃならないんですね。
以下のうちの必要なものを登録しましょう。
今回は「2012-10」のSDKを使います。
>Add-Type -Path "C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref\Microsoft.WindowsAzure.Storage.dll"
>Add-Type -Path "C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref\Microsoft.WindowsAzure.StorageClient.dll"
他にはこんなのもあります。
>Add-Type -Path "C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref\Microsoft.ServiceBus.dll"
>Add-Type -Path "C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref\Microsoft.WindowsAzure.CloudDrive.dll"
>Add-Type -Path "C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref\Microsoft.WindowsAzure.Configuration.dll"
>Add-Type -Path "C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref\Microsoft.WindowsAzure.Diagnostics.dll"
>Add-Type -Path "C:\Program Files\Microsoft SDKs\Windows Azure\.NET SDK\2012-10\ref\Microsoft.WindowsAzure.ServiceRuntime.dll"
困ってたらどうぞ。
2013年4月27日土曜日
クラウディアさんをWebブラウザで躍らせる(要WebGL)
MMDのモデルをブラウザ上で動かせる「MMD.js」があります。
WebGLによる、なかなか素晴らしい動きじゃないですかね。
こうなると、MicrosoftさんのWindowsAzureのキャラクターであるクラウディアさんも躍らせてみたいですよね?さくっと、やってみました。
注意点は、ブラウザはTGA形式の画像が表示できないので、あらかじめPNG形式に変更する必要があります。
ライブラリの中で、「xxx.tga」で終わるファイルは「xxx.tga.png」に読み替えてテクスチャーファイルを読み込みます。
非力なグラボのマシンで見ると、軽く死ねると思います。
2013年3月13日水曜日
MacOSX 10.8 + mono + F#
今更って感じだけど。
monoのインストールはあっさりとできる。
ここからpkgをダウンロードして実行。
http://www.go-mono.com/mono-downloads/download.html
で、ここからF#コンパイラをダウンロード。
http://www.microsoft.com/en-us/download/details.aspx?id=11100
zipを解凍してmonoで実行すると、インタラクティブシェルが起動したりする。
user: mono fsi.exe --gui
ちょっとしたチェックはこれで済みそう。
monoのインストールはあっさりとできる。
ここからpkgをダウンロードして実行。
http://www.go-mono.com/mono-downloads/download.html
で、ここからF#コンパイラをダウンロード。
http://www.microsoft.com/en-us/download/details.aspx?id=11100
zipを解凍してmonoで実行すると、インタラクティブシェルが起動したりする。
user: mono fsi.exe --gui
ちょっとしたチェックはこれで済みそう。
2013年1月1日火曜日
今日でインターネットも30歳!?
今日はARPANETがTCP/ IPに切り替わって30年なのだ。
インターネットも30歳っといっていいでしょうね。おねでとう。
興味ある人はあらためてRFCを読んでみよう。
http://www.rfc-editor.org/rfc/ rfc801.txt
今年もよろしくお願いします。
インターネットも30歳っといっていいでしょうね。おねでとう。
興味ある人はあらためてRFCを読んでみよう。
http://www.rfc-editor.org/rfc/
今年もよろしくお願いします。
登録:
投稿 (Atom)

