未だRails 2.0.2

まだ自分の環境がRails 2.0.2である。とにかくまだ超初心者なので、簡単にCRUD的サンプルを作る。
(1)DB生成、
(2)scaffoldでアプリを作る
ruby script/generate scaffold XXXX name:string info:text
のように入力
(3)消すときは ruby script/destroy scaffold XXXX
(4) rake db:migrate
でマイグレーションしてくれる

(5)参考書によると同じアプリ名であれば、カラムの追加も
ruby script/generate scaffold XXXX name:string info:text newcolumn:text
などと追加で入れると対応してくれるらしい

今回不確かで申し訳ない。


Amazon EC2で簡単にWinSCPで接続する

これまでftpをセットアップする方法を調べてきたが、もっと簡単にWinSCPで接続できることがわかった。これを記しておく。
(1)PuttyGenを起動。ファイル->秘密鍵の読み込み、で鍵読み込みモードにする
(2)ここで、生成してあったKeyを入力する。OPENSSHヘッダの付されたPairである必要がある。これはKey genaration時に
 指定したファイル名である。Pairで生成されているcert-XX.pemやpk-XXX.pemではないことに注意。
(3)これでPutty用の鍵が生成されるので、生成した鍵の保存->秘密鍵の保存、を選択し、適当な名前で保存する。
(4)WINSCPを起動、新規でプロファイルを作成。ホストには、動作しているEC2インスタンスのPublic DNS名を入れる。
  ユーザ名は、ec2-user、秘密鍵には先ほど保存した鍵を指定、プロトコルは、SCPとする。
(5)これでログインするとファイルをローカルからサーバに転送可能となる。
(6)httpdはあらかじめセットしておくこと
   sudo yum -y install httpd
sudo /etc/etc/rc.d/init.d/httpd start
(7)コンテンツのホームディレクトリは、デフォルト/var/www/htmlなのでそこに転送。パーミッションには注意。

これでOKだ。


iPadからAWS S3上のファイルを閲覧する

これは、もともとAWS S3でiPadの容量を仮想的に増やす記事を見て、これで使えるのかな、と思っていたのですが、今回やってみるともっと簡単にできることがわかりました。
(1)最新のGoodReader(v3.18.6)で、Brouse the Webを選択
(2)AWSのホームURLにアクセスし、ログインする
(3)S3を選択し、ターゲットのバケツを選択する
(4)お目当てのファイルにたどり着いたら、上のメニューからActions->Download
(5)”please right-click the download link below and choose Download Linked File as..”とでるので、そこのDownloadボタンを押す
(6)Download Linked Fileを選択
(7)これでダウンロードが始まり、お目当てのファイルがiPadで見られた!


Plaggerで一部写真を取ってこれなかった

自分のWindows PCでCRON働かせて昼休みに、
Plagger.bat -c c:\Perl\usr\XXXX.yaml
でflickrからあるキーワードにひっかかる写真を自動的に取ってきていた。

ところがあるyamlはOKであるyamlはNGとなっている。わけわからなかったのだが、ファイルのencodeを見たらUTF-8で作ったファイルはOKでSHIFT-JISで作ったファイルがNGだった。全部UTF-8にしたら無事動いた。お騒がせだった。


Amazon EC2でftp機能を入れる

EC2でhttpサーバが動かせたとしても、結局コンテンツをuploadできないと意味がない。それでftp機能をどのようにして入れるかを
調べていたところ“Amazon EC2 (Amazon Linux) での vsftpd インストールと設定 “の記事が大変参考になった。

これで基本的には動くのだが、やってみて一点引っかかったところをメモしておく。
1) EC2のDashboardでSecurity Groupsがあり、そこでTCPポート21番ならびに60000-60010を開けるのだが、Addボタンを押しただけではだめで、Apply rule changeボタンを押さなければならなかった。これは失敗。
2) 同じくEC2のDashboardでElastic IPはアサインしておくこと
3) 動作確認のために、WinSCPで接続を試みた。このとき、
 セッションのホスト名には、Public DNSの名前を入れる(e.g., ec2-xx-xx-xx-xx.compute-1.amazonaws.com)
ユーザ名は先ほど作成したユーザ名、パスワードもその時作成したパスワード
 プロトコルはftp, 暗号化なし
 環境パラメータのftpのところで、パッシブモード接続でIPアドレスを強制する、にチェックを入れること。これで接続が可能となった。

当然httpdのデフォルトだとコンテンツは、/var/www/htmlにおく。おかげでやっとEC2上でWebコンテンツが上がった。この週末ぐらいは置いておこう。