$this->renderElementが無くなった

cakePHP 1.3でViewのrenderElementがなくなったっぽい
使おうと思って定義されてないとかエラーでて気づいた
$this->renderElement(‘hoge’);
じゃなくて
$this->element(‘hoge’);
って使うようになったらしい。
あと、Model::delが無くなった(非推奨?)ので
Model::deleteを使うべきらしい。
→もともとSessionとかのメソッド名はdeleteだったのでなんか気持ち悪かったけど統一されてよかった
またなんかあったら書く
CakePHP 1.3によるWebアプリケーション開発―オープンソース徹底活用

Filed under: cakePHP — maesan 12:50 PM

シンガポールが追加されたAmazon EC2で遊んでみた[S3編]

前回「シンガポールが追加されたAmazon EC2で遊んでみた[起動編]」ではインスタンスの起動まで説明しました。
でもこのままでは終了すると変更は破棄されてまたゼロからスタートになります。
そのため、AmazonのS3(Simple Storage Service)ってのを使います。
S3ってのは簡単にいうとクラウド化されたストレージなんだけど、サーバー等にマウントして使ったりはできなくてファイル単位で管理するシンプルなストレージサービスです。
なのでEC2とS3を連携させる場合にはEC2で使うAMIをOSのイメージとしてS3に保存しておき、起動させるときにOSイメージを呼び出してインスタンスを起動するって感じに使います。
とりあえずAWSにログインしてダッシュボード開いて「Amazon S3」タブ開く

するとS3を使ってオブジェクトを保存するためにはバケットを作れって書いてあるので「Create Bucket」を押します。Bucketってのは日本語的にバケツの意味ですが、S3的にはフォルダの親玉な感じです。BucketにFolderを作ってその中にファイルを格納するようなイメージです。
「Create Bucket」を押すとBucket名とRegionを選択するダイアログが出ます。

今回はシンガポールで遊ぶのが目的なので「Singapore」を選んで適当なBucket名を付けて「Create」します。今回はBucket名を「maesan」にしました。
すると左のBucketsの所に作成したBucketが表示されます。
そのBucketを選択すると右側にWindowsのエクスプローラーみたいな感じのがあるのでそこで「Create Folder」を押してフォルダを作ります。
今回はFedoraのイメージを保存しようと思いますので適当に「fedora001」って名前で作ってみました

でココマデできたら次はインスタンスを起動してEC2のツールを使って保存します。
インスタンス内でEC2のコマンドラインツールを使わないといけないのですが、それにはX.509証明書とか必要になります。
なのでAWSの「Account」から「Security Credentials」のページへ行きます。
・右上あたりの「Account Number」ってのをメモ
ページ中程に「Access Credentials」ってのがあるので、
・Access Keysをメモ
・Secret Access Keyの「Show」も押してメモ
次に「X.509 Certificates」タブを開いて「Create a new Certificate」をクリック

するとダウンロード用のダイアログがでるのでどっちも保存する
cert-xxxx.pemってファイルとpk-xxxx.pemってファイル

んでコレをさっき起動したインスタンスに転送する
説明は以下と仮定して
・Key Pairs → maesan.pem
・Private Key → pk-xxx.pem(ほんとはもっと長い)
・ X.509証明書 → cert-xxx.pem(ほんとはもっと長い)
・インスタンスのpublic DNS → ec2-xx-xx-xx-xx.ap-southeast-1.compute.amazonaws.com
ターミナルから以下のコマンドを実行する。Windowsの場合はWinSCPとかそのへん使ってください><

>scp -i maesan.pem pk-xxx.pem root@ec2-xx-xx-xx-xx.ap-southeast-1.compute.amazonaws.com:/root
>scp -i maesan.pem cert-xxx.pem root@ec2-xx-xx-xx-xx.ap-southeast-1.compute.amazonaws.com:/root

んでインスタンスにsshでログインする

>ssh -i maesan.pem root@ec2-xx-xx-xx-xx.ap-southeast-1.compute.amazonaws.com

色々カスタマイズしてS3に保存したい状態になったらまずEC2のツールを使ってOSのイメージ(AMI)を作成する–userのとこにはメモっといたAccount Number入れる

#ec2-bundle-vol -d /mnt –privatekey pk-xxx.pem –cert cert-xxx.pem –user xxxx-xxxx-xxxx -r i386

結構時間かかるのでしばらく待つ。
-rは32bitなら i386、64bitなら x86_64を指定します。
ちょっとイラってするくらい時間かかるかも。。。

Copying / into the image file /mnt/image…
Excluding:
/sys
/proc
/sys/fs/fuse/connections
/dev/pts
/proc/sys/fs/binfmt_misc
/dev
/media
/mnt
/proc
/sys
/mnt/image
/mnt/img-mnt
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.021742 s, 48.2 MB/s
mke2fs 1.40.4 (31-Dec-2007)
NOTE: rsync with preservation of extended file attributes failed. Retrying rsync
without attempting to preserve extended file attributes…
NOTE: rsync seemed successful but exited with error code 23. This probably means
that your version of rsync was built against a kernel with HAVE_LUTIMES defined,
although the current kernel was not built with this option enabled. The bundling
process will thus ignore the error and continue bundling. If bundling completes
successfully, your image should be perfectly usable. We, however, recommend that
you install a version of rsync that handles this situation more elegantly.
Bundling image file…
Splitting /mnt/image.tar.gz.enc…
Created image.part.00
Created image.part.01
Created image.part.02
Created image.part.03
Created image.part.04
Created image.part.05
Created image.part.06
Created image.part.07
Created image.part.08
Created image.part.09
Created image.part.10
Created image.part.11
Created image.part.12
Created image.part.13
Created image.part.14
Created image.part.15
Created image.part.16
Created image.part.17
Created image.part.18
Created image.part.19
Created image.part.20
Created image.part.21
Created image.part.22
Created image.part.23
Created image.part.24
Created image.part.25
Created image.part.26
Created image.part.27
Created image.part.28
Created image.part.29
Created image.part.30
Created image.part.31
Created image.part.32
Created image.part.33
Created image.part.34
Created image.part.35
Created image.part.36
Created image.part.37
Created image.part.38
Created image.part.39
Created image.part.40
Created image.part.41
Created image.part.42
Created image.part.43
Created image.part.44
Created image.part.45
Created image.part.46
Created image.part.47
Created image.part.48
Created image.part.49
Generating digests for each part…
Digests generated.
Unable to read instance meta-data for product-codes
Creating bundle manifest…
ec2-bundle-vol complete.

んでイメージ出来上がったらS3に転送
–access-keyと–secret-keyにはさっきメモたやつ入れる

#ec2-upload-bundle –bucket maesan/fedora001 –manifest /mnt/image.manifest.xml –access-key xxxx –secret-key xxxx

Uploading bundled image parts to the S3 bucket maesan …
Uploaded image.part.00
Uploaded image.part.01
Uploaded image.part.02
Uploaded image.part.03
Uploaded image.part.04
Uploaded image.part.05
Uploaded image.part.06
Uploaded image.part.07
Uploaded image.part.08
Uploaded image.part.09
Uploaded image.part.10
Uploaded image.part.11
Uploaded image.part.12
Uploaded image.part.13
Uploaded image.part.14
Uploaded image.part.15
Uploaded image.part.16
Uploaded image.part.17
Uploaded image.part.18
Uploaded image.part.19
Uploaded image.part.20
Uploaded image.part.21
Uploaded image.part.22
Uploaded image.part.23
Uploaded image.part.24
Uploaded image.part.25
Uploaded image.part.26
Uploaded image.part.27
Uploaded image.part.28
Uploaded image.part.29
Uploaded image.part.30
Uploaded image.part.31
Uploaded image.part.32
Uploaded image.part.33
Uploaded image.part.34
Uploaded image.part.35
Uploaded image.part.36
Uploaded image.part.37
Uploaded image.part.38
Uploaded image.part.39
Uploaded image.part.40
Uploaded image.part.41
Uploaded image.part.42
Uploaded image.part.43
Uploaded image.part.44
Uploaded image.part.45
Uploaded image.part.46
Uploaded image.part.47
Uploaded image.part.48
Uploaded image.part.49
Uploading manifest …
Uploaded manifest.
Bundle upload completed.

ダッシュボードのS3からファイルが転送されたか確認します。

で、最後にこのイメージでインスタンスを起動できるようにAMIとして登録します。
ダッシュボードの「AMIs」をクリックして「Register New AMI」をクリックするとAMIのパスを指定するダイアログが出ます。

ココで「バケット名/フォルダ名/image.manifest.xml」を入れて「Register」を押して完了です。
これでいつでもダッシュボードの「AMIs」で「Owned By Me」にこのAMIが登録されるのでいつでもインスタンスを起動することができます。
お疲れさまでした〜
シンガポールが追加されたAmazon EC2で遊んでみた[登録編]
シンガポールが追加されたAmazon EC2で遊んでみた[起動編]

Amazon EC2/S3/EBS クラウドコンピューティングによる仮想サーバ構築
清水 正人 ソシム 売り上げランキング: 226726
Filed under: AWS — maesan 1:16 AM  Comments (1)

シンガポールが追加されたAmazon EC2で遊んでみた[起動編]

前回「シンガポールが追加されたAmazon EC2で遊んでみた[登録編]」でAWS+EC2の登録までいけましたので、今回はとりあえずインスタンスを起動してスゲーするまでを説明しますね。
まずはAmazon Web ServicesからAWS Management Consoleにログインしてみましょう。

今回はシンガポールで遊びたいので左上の「Region」を「Asia Pacific」にしてから真ん中あたりの「Launch Instance」を押すとウィザードが始まります。
初めにAMI(Amazon Machine Image)を選択します。
AMIってのは簡単にいうとEC2で起動できるOSイメージのことです。今回は簡単に起動させてスゲーしたいだけなのでfedoraのLAMP Web Starterを選択します。

次にインスタンスのタイプを選びます。
今回はインスタンスの数は1個、場所はどこでも、インスタンスタイプを「Small」にします。
「Launch Instances」と「Request Spot Instances」が選択できますが、通常使用する場合は従量課金になる「Launch Instances」でイイと思います。
「Continue」を押して次へ

Kernel IDやRAM Disk IDとか選べますがとりあえずデフォルトで問題なし。
ちょっと遊ぶだけなのでMonitoringもオフでおkです。コレ別途お金かかるっぽいですしw
んで「Continue」を押して次へ

次に暗号鍵を設定します。
既にKey PairをCreateしている場合は「Choose from your existing Key Pairs」でそれを選択して「Continue」、もし作っていない場合や、別のKey Pairにしたい場合は「Create a new Key Pair」します。

次にセキュリティー(ファイアーウォール)の設定します。
デフォルトで「Create a new Security Group」になってると思います。今回はSSHとHTTPがあればとりあえずおkなので、それに適当な名前をつけて「Continue」します。
もしここでSSH開けてなかったら全く手も足も出なくなっちゃうので必ずSSHは開けておきましょう。一回間違ってSSH開けずに進めたら起動後何もできずシャットダウンしか出来なかった悲しい出来事がありましたのでw

ちなみにコレ任意のポート開けたい時は、ダッシュボードのSecurity Groupのところでやります。
最後に最終確認で「Launch」を押すとインスタンスが起動します!

でダッシュボードに戻ると「Instances」に今起動したインスタンスが確認できます。

今回の目的はとりあえず起動してスゲーすることなのでブラウザでアクセスしてみる
インスタンスの情報でpublic DNSってところに書いてあるホスト名でアクセス
http://ec2-xxx-xxx-xxx-xxx.ap-southeast-1.compute.amazonaws.com みたいなの
今回選んだAMIだといきなりapacheとか立ち上がってるので

phpinfo キタ━━━━(゚∀゚)━━━━ !!!!!
で、まぁお金も勿体無いのですぐ止めてもいいのですが、せめてSSHでの接続方法を説明します
ダッシュボードのインスタンスを右クリックして「Connect」を選ぶと説明が出ます。

keyのファイル(xxxx.pem)のパーミッションを400にしてsshに-iオプションをつけて接続します。
例:
/Users/maesan/Download にmaesan.pemってキーファイルがある場合で
インスタンスのpublic DNSがec2-xxx-xxx-xxx-xxx.ap-southeast-1.compute.amazonaws.comの場合

$cd /Users/maesan/Download
$chmod 400 maesan.pem
$ssh -i maesan.pem root@ec2-xxx-xxx-xxx-xxx.ap-southeast-1.compute.amazonaws.com

とりあえずrootのパスワードは必ず変更するように!

#passwd
Changing password for user root.
New UNIX password: パスワード入れる!
Retype new UNIX password: もっかい入れる!
passwd: all authentication tokens updated successfully.

これで色々とサーバーの設定とかできますよと。
インスタンスを止めるにはダッシュボードのインスタンスを右クリックで「Terminate」すれば終了します。
またはsshでログインしてるのであればたいていのLinuxのディストリの場合
#shutdown -h now
で終了します。
StatusがTerminatedになってたらシャットダウン完了です。

ちなみにTerminateしてしまうと、このリストに残ってるインスタンスは起動できませんw
リストに残りますが、そのうち勝手にリストから消えますのでご安心を
もしインスタンスに設定した内容を永続的に保持したい場合はS3というサービスを使う必要があります。コレはまた次回に〜

Amazon EC2/S3クラウド入門
Amazon EC2/S3クラウド入門
posted with amazlet at 10.07.18
学びing 秀和システム 売り上げランキング: 249105
おすすめ度の平均: 3.5

2 内容が古く、これだけでは説明不足2 入門書です4 Amazonを使ってクラウドビジネスを始めたいと思う人におすすめ3 情報収集が面倒な方にはちょうどよいです5 すぐに試したい人におすすめ

Filed under: AWS — maesan 12:02 AM

シンガポールが追加されたAmazon EC2で遊んでみた[登録編]

前からAmazonのEC2が気になってたのですがUSって遠いし遅いんじゃね?とか思ってたので手を出してませんでした。
で、この春にAsia Pacificとしてシンガポールが追加されたので俄然興味が出てきた!
ちょうど最近シンガポールがらみの仕事のネタが増えてきましたのでちょうどイイタイミングかなと思いちょっと遊んでみた。
今回はEC2の登録まで〜
とりあえずAmazon Web Serviceのページに行って「Sign Up Now」する

フツウにメールアドレスいれて「I am a new user.」にチェックでSign inする。

多分コレAmazon.co.jpとかで買い物するアカウントとは無関係と思われる。
名前とメールアドレスとパスワードいれて「Create account」する

んで住所とか入れる
前さんはAddress Line 2も使って入力してたんだけど、何回やっても正しい住所じゃねぇとか怒られたので無理矢理Address Line 1に詰め込んで登録した。。。

とりあえずアカウントの登録はこれでおk

次にEC2の登録を行ないます。EC2のページに行きまして、「Sign Up For Amazon EC2」押してさっき作ったアカウントでSign inします。

するとEC2の課金額がずらずらと表示されます。

このページの一番下にクレジットカード情報を入力するフォームがあるので入力して「Continue」します。

もしAmazon Web Serviceのアカウントの名義と違うクレジットカードを使う場合はカード名義を登録する必要があります。
通常は同じだと思いますので「Use This Address」で

最近は電話で本人確認が必要なサービスが多いですが、AWSも本人確認のために電話認証があります!

アカウント登録時の電話番号がデフォルトで入っているのですが、国際電話なので電話番号のアタマの0をとっておいてください。
例:090-xxxx-xxxx → 90-xxxx-xxxx
んで「Call Me Now」するとすぐにアメリカの電話番号から電話がかかってきますw
当然英語ですが、生身の人間じゃ無いのでまぁそんなに緊張せずに。
PINを入力してください的な事を言われます。画面が以下の感じに変わってると思いますので、この4桁のPINを電話で入力します。

正しくPINを入力すると本人確認おkとなり、自動的に画面が更新されます。「Continue」をクリック

「Complete Sign Up」をクリック

最後にこの画面になってメールが届いて完了です。

お疲れさまでした〜
シンガポールが追加されたAmazon EC2で遊んでみた[起動編]

AmazonCloudテクニカルガイド ―EC2/S3からVPCまで徹底解析―
李 昌桓 インプレスジャパン 売り上げランキング: 35706
Filed under: AWS — maesan 3:50 PM

iOS4 + MobileMe + メモの同期が中途半端

iOS4になってウレシイと思った機能がMobileMeでMacとiPhoneでメモがOTAで同期できるようになったこと!
でもね、何か中途半端なのです。
Mailでメモ作るでしょ

で「完了」押して保存する。

そしたらちょっと待つとiPhoneにも同期される。
ココマデはイイんだけど
Mailで編集してみると

なぜかiPhoneに反映されない

タイムスタンプは更新されてるけどなw
で次にダブルクリックで別ウィンドウにしてから編集して「完了」押してみた


やっぱダメだぜw
別のメモを作って保存してもムリだしコレどうなってんの?w
意味もなくUSBでつないでみたけど、メモの同期にチェックいれてないから当然同期されず。
もうどうにでもなーれと思ってiPhoneで編集してみた

即座に反映wwwwww

もうやだこれ
不具合だったらはやく直してください。。
仕様だったらもうちょい説明ください。。。

できるポケット+ Evernote 活用編
コグレマサト いしたにまさき 堀正岳 できるシリーズ編集部 インプレスジャパン 売り上げランキング: 511
おすすめ度の平均: 4.0

5 前著は紹介編だったが、本書は一歩進んだライフハック。3 EVERNOTEを使い始めるためのハードルを下げてくれる4 実践的なtips5 実践的な内容とノウハウもあり

Filed under: Mac — maesan 1:29 AM  Comments (1)

$this->pageTitleが無くなった

今日はじめてcakePHPの1.3を触ったんだけど、ページのタイトルが設定できなくなって困った。
$this->pageTitle = “前さんのページですよ”;
とかやったら1.2の場合ページのタイトルが入るんだけど、
$this->set(‘title_for_layout’, “前さんのページですよ”);
ってやらないと駄目になった。
確かに正統なcakePHPのお作法に統一された感じですが、ちょっとめんどい。
あと、findAllとか使えなくなった。
前さん的にはいっつもfind(‘all’, $conditions);とかやってたのでとりあえずコレは問題なし。
他にも変わったとこあるか調べてみる。
CakePHP 1.3によるWebアプリケーション開発―オープンソース徹底活用

Filed under: cakePHP — maesan 9:58 PM
 iTunes Store(Japan)
 iTunes Store(Japan)
 iTunes Store(Japan)
 iTunes Store(Japan)
 iTunes Store(Japan)