2012年8月27日月曜日

AWS EC2にpoderosaでSSHする方法

poderosaでEC2にSSHしようとするとエラーになるので、その解決方法。

■手順
1).鍵ファイルを取得する。
EC2インスタンスを作成する際に指定した、鍵ファイル(拡張子がpemであるファイル)を用意する。
ない場合は、もう一度新規に作成を行う。
※新規に作成を行った場合は、インスタンスのkeypairを変更すること。


2).puttygenで変換
poderosaで利用するために変換をする必要がある。
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
↑よりダウンロードする。

・「File > Load private key」を選択し、鍵ファイルをLoadする
※ファイル選択時に、フィルタは「All Files」にしておかないと、表示されないよ。

・「Conversions > Export ssh.com key」を選択し、鍵ファイルを出力する。


3).poderosaで接続する
必要な情報を入力

・ホスト:EC2 ManagementConsoleで、対象Instanceの「Public DNS:」を入力
・ポート:22
・アカウント:ec2-user
・認証方法:公開鍵
・パスフレーズ:(空)
・鍵ファイル:上記2)で作成した鍵ファイルを選択。


4).接続できました!!


※参考資料
http://eto.com/d/Poderosa.html

2012年8月17日金曜日

お名前.comのネームサーバーからAmazonWebService Route53に移行する

やってみたので、メモしました。
■手順
1. AWSのアカウントを作成する。
すでに申し込み済み
http://aws.amazon.com/jp/register-flow/

2. Amazon Route 53へ申し込む。
Amazon Route 53



3.「Create Hosted Zone」をクリック


4.「Create Hosted Zone」を入力する。


5.Hosted Zoneのリストから、作成したDomainを選択し、「Go to Record Sets」をクリック


6.「Create Record Set」をクリックし、必要な情報を入力していく。
サブドメインの必要がなければ、Nameは空欄でOK



7.お名前comのネームサーバーを変更する
ドメインを選択し、「他のネームサーバーを利用」を選択、AWSのネームサーバーを入力します。


8.15分くらい時間をおいてから、nslookupで確認する

■参考資料
お名前.comのnameserverからAmazon Route 53に変更する方法
【自分用メモ】ネームサーバをお名前comから AWS Route 53へ切り替えた。
始めてみよう、Amazon Route 53
【AWS発表】 AWS Management ConsoleがAmazon Route 53をサポート
Amazon Route 53がAWS Management Consoleに対応しました

参考資料のおかげで、簡単に設定が移行できました!!
ありがとうございます。

2012年4月7日土曜日

さくらのVPS 512 を移行します。(失敗)

まあ、「さくらのVPS 512」を契約しているわけですが。。。
さくらインターネットから以下のお知らせがきた。
http://www.sakura.ad.jp/news/sakurainfo/newsentry.php?id=620

------------------------------
■リニューアル前のプランをご利用のお客様へ
  リニューアル前のプランにつきましては、全プランにおいてHDDやCPUの増強、料金の
  変更はございませんが、512、1G、1.5Gの各プランにつきましては、4月以降に実施を
  予定している計画メンテナンス(システム更新、ソフトウェアアップデートを含む
  サーバメンテナンス)の実施にあわせて下記の通りメモリの増設を実施させていただく
  予定です。
------------------------------
とあるが、いつになるかわからないし、HDDも同一料金で5倍になるので、新規契約&移行することにしました。

参考にしたサイト
■さくらのVPSで上位プランに移行するための手順
http://tanaka.sakura.ad.jp/2011/03/sakura-vps-upgrade.html

1.新サーバーの申込
2.新旧両方のサーバにrsyncをインストールします。
3.旧サーバから新サーバへrsyncを使ってファイルをコピーします。
4.新サーバを再起動します。


以下作業です。

1.新サーバーの申込
新サーバーの申込。以下のサイトから申込
http://vps.sakura.ad.jp/
「さくらのVPS(v3) 1G」にしました。

2.rsyncのインストール
旧サーバーにインストールされているか確認


インストールされているっぽい。

新サーバーにインストールされているか確認



3.旧サーバから新サーバへrsyncを使ってファイルをコピーします。
旧サーバーでrootで作業。



4.新サーバを再起動します。
「新サーバを再起動すれば、古いサーバの設定を引き継いだ形で動作を開始するはずです。」
っていうことなんですが、、、
上がって来ませんね。。。
さくらのVPSコントロールパネルではステータス=稼働中となっていますが、、、
リモートコンソールには、何も反応がありません。。。

ざんねーん。


確認してみたらば、、、
OSのバージョンが違ってました。。。
新サーバー:CentOS 6.2 (64bit) (2.6.32-220.7.1.el6.x86_64)
旧サーバー:CentOS 5.7 (64bit) (2.6.18-194.26.1.el5 on an x86_64)
そりゃ動かんよね。。。
---
新サーバと旧サーバのOSは、必ず同じものにしてください。
古いサーバが32bit OSで、新しいサーバが64bit OSだと不具合が発生します。
---

ということで。また再トライ予定。

2012年3月7日水曜日

dotCloudでmysql

先日作成したdotCloudで、mysqlを利用できるようにする。

超簡単。
以下の内容をdotcloud.yamlに追記

以上!!

pushする



DBの設定を確認する。


DBにログインしてみる


次回は、perlからmysqlへの接続や、mysqlのデータの永続性について調べてみたい。。。

2012年3月2日金曜日

dotCloudでHelloMojo

今更ながら、dotCloud(https://www.dotcloud.com/)を使ってみようと思います。

PaaSで、perlが使えるのが嬉しいですよね。
dotCloudのクライアントには、さくらVPSを利用しました。
dotCloudにしようと思ったのは、
・perlが使える!!コレ重要。
・AmazonEC2のIaaS上で動作しているらしい(sshできる)
などなどです。

おしながき
1.dotCloudにアカウント作り、APIKey取得
2.さくらVPSにpython 2.6.6のインストール
3.easy_installのインストール
4.dotCloudコマンドのインストール
5.helloworldを作る
6.dotCloudに公開する
7.補足。
8.参考にしたページ

1.dotCloudにアカウント作る
以下にアクセスしてサインアップ。
https://www.dotcloud.com/
登録できたら、画面右上のsettingをクリック。
APIKeyを取得する。

2.さくらVPSにpython 2.6.6のインストール
いろいろと手間がかかった。

Python 2.4.3なので、Python 2.6.6にする必要がある


python 2.6.6用ディレクトリ作成


インストール


共有ライブラリ設定


.bashrc設定



3.easy_installのインストール
easy_installをするには、opensslが必要!!
以下のようなエラーが発生する


確認すると、、、


openssl-develがないので、インストール


インストールできたら以下のことを行う


改めてeasy_installする



4.dotCloudコマンドのインストール
以下のコマンドでインストール



5.helloworldを作る
今回は、Mojoliciousで動かしてみる。
構成
hellomojo/
|_ Makefile.PL
|_ app.psgi
|_ dotcloud.yml
|_ myapp.pl
それぞれ以下のように記述
Makefile.PL


app.psgi


dotcloud.yml


myapp.pl



6.dotCloudに公開する
まず、Applicationを作成する。

※この時に、APIKeyをまだ登録していなければ、以下が表示されるので、
上記1で取得しているAPIKeyを入力する。


続いて、dotCloudにファイルをpush
※上記のhellomojo/ディレクトリで実行している。

この一番最後に表示されたURLにアクセス。
表示されない?
少し時間を置かないとアクセス出来ない様子。
1~2分後にもう一度アクセス。
できました!!

7.補足。
・作成したApplicationを削除する。

・Applicationの詳細を取得

・ApplicationのShellに接続


・Freeプランでは、最大2つまでのApplicationをpush可能。

8.参考にしたページ
※ありがとうございました。
http://blog.heartofsword.net/archives/716
http://mt.endeworks.jp/d-6/2011/04/dotcloud-psgi-hello-world.html
http://blog.kraih.com/mojolicious-in-the-cloud-hello-dotcloud
http://d.hatena.ne.jp/hide_o_55/20110504/1304500326
http://d.hatena.ne.jp/t-kashima/20111102/1320167585
また、上記ページに、「dotcloud deploy」を利用するように書いてありますが、
このブログを書いている時点では、使えませんでした。
そのかわり「dotcloud.yml」を利用するようになります。

次はdotCloudでMySQLを使ってみたいですね。

2011年11月28日月曜日

Net::Twitter::Lite でつぶやいてみる。

①bot用アカウントを作成し、キーを取得。

bot用のアカウントを作成したら、以下のURLにアクセス。
http://dev.twitter.com/apps
「Creat a new application」をクリックする。
Name:
希望のアプリケーション名
Description:
アプリの説明。短すぎると怒られる。
Web Site:
自分のブログなど。
アプリケーション名をクリックすると飛ぶURL
※bot用のtwitterページでよい。
Callback URL:
空欄のまま。
Developer Rules of the Road には、内容を確認の上「Yes, I agree」にチェック


登録できると以下の画面が表示される。

画面下の「Create my access token」をクリック
※これを行わないとaccess tokenが発行されない。

OAuth toolタブをクリックすると以下の画面が表示される。
ここに表示された内容をPerl側で利用します。

②Perl側の記述
※あらかじめ、以下をCPANでインストールすること。
cpan> install YAML::Tiny
cpan> install Net::Twitter::Lite;

以下、ソース
twitter_bot.pl

config.yml


動かしてみる。



ちゃんと発言できた!!


※Net::Twitterをいれるのは難しい。Mooseベースらしい。
※昔はUser、Passwordでできたらしいが、今はOAuthをつかわないといけない。
※つぶやく文言はUTF8でdecodeする必要がある。
2012/08/17 追記
Twitterの設定画面で、settingsタブの「Application Type」で、Write権限があるものを選択しておかないとツイートできないです。

2011年11月21日月曜日

PHP5.1.6からPHP5.3.3へのバージョンアップ

※これは個人的なメモです。実際に試すときには、個人の責任でお願いします。参考程度にお読みください。

個人用サーバー(某VPS CentOS5.7)のPHPのバージョンアップを行った時のメモ。
CentOSの標準リポジトリでPHP5.3のパッケージが用意されているっぽいので、
PHP5.1.6がインストール済みのCENTOS5.7にphp53パッケージで、PHP5.3.3をインストールする。

きっかけ
FacebookAPIをつかって、「いいね」の判定をしようと思い、サンプルを動かしたが、以下のエラーが発生した。
PHP Fatal error:  Call to undefined function json_decode() in/home/ftpuser/htdocs/ikel_test/parse_signed_request.php on line 14,
どうやら、parse_signed_request.php内で利用しているjson_decode関数は
PHPのバージョンが5.2.0のものからだそうです。
※「いいね」判断の内容はこちら
http://developers.facebook.com/docs/authentication/signed_request/


①サーバーへインストール済みのPHP関連のパッケージの確認
以下のコマンドを使って、インストール済みのPHP関連パッケージを確認
#  rpm -qa | grep php
php-cli-5.1.6-27.el5_5.3
php-mysql-5.1.6-27.el5_5.3
php-common-5.1.6-27.el5_5.3
php-pdo-5.1.6-27.el5_5.3
php-5.1.6-27.el5_5.3
php-mbstring-5.1.6-27.el5_5.3
php-pear-1.4.9-6.el5
php-devel-5.1.6-27.el5_5.3


②CentOSのphp53のパッケージを確認
以下のコマンドをつかって、CentOSのリポジトリphp53のパッケージを確認
# yum list php53*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: rsync.atworks.co.jp
 * extras: rsync.atworks.co.jp
 * updates: rsync.atworks.co.jp
Available Packages
php53.x86_64           5.3.3-1.el5_7.3
php53-bcmath.x86_64    5.3.3-1.el5_7.3
php53-cli.x86_64       5.3.3-1.el5_7.3
php53-common.x86_64    5.3.3-1.el5_7.3
php53-dba.x86_64       5.3.3-1.el5_7.3
php53-devel.x86_64     5.3.3-1.el5_7.3
php53-gd.x86_64        5.3.3-1.el5_7.3
php53-imap.x86_64      5.3.3-1.el5_7.3
php53-intl.x86_64      5.3.3-1.el5_7.3
php53-ldap.x86_64      5.3.3-1.el5_7.3
php53-mbstring.x86_64  5.3.3-1.el5_7.3
php53-mysql.x86_64     5.3.3-1.el5_7.3
php53-odbc.x86_64      5.3.3-1.el5_7.3
php53-pdo.x86_64       5.3.3-1.el5_7.3
php53-pgsql.x86_64     5.3.3-1.el5_7.3
php53-process.x86_64   5.3.3-1.el5_7.3
php53-pspell.x86_64    5.3.3-1.el5_7.3
php53-snmp.x86_64      5.3.3-1.el5_7.3
php53-soap.x86_64      5.3.3-1.el5_7.3
php53-xml.x86_64       5.3.3-1.el5_7.3
php53-xmlrpc.x86_64    5.3.3-1.el5_7.3 

pearが見当たらないが、後でインストールすることにする。


③Apacheの停止
既存のPHP5.1.6を削除する必要があるので、Apacheを停止
# /etc/rc.d/init.d/httpd stop


④既存PHP5.1.6を削除
# yum list php php-*
# yum -y remove php php-*


⑤php53のインストール
# yum -y install php53 php53-mbstring php53-mysql


⑥Apacheの起動
# /etc/rc.d/init.d/httpd start


⑦PHPのバージョン確認
# php -v
PHP 5.3.3 (cli) (built: Nov  2 2011 23:35:50)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

なんとかこれで「いいね」判断できるようになったかな。

参考:http://okiraku-server.net/server/2011/05/27178.html