<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>koba206の開発WIKI</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/" />
    <link rel="self" type="application/atom+xml" href="http://www.koba206.com/dev-wiki/atom.xml" />
    <id>tag:www.koba206.com,2008-11-17:/dev-wiki//1</id>
    <updated>2010-05-15T15:38:46Z</updated>
    <subtitle>日常プログラミングしていて、これは覚えておいたほうがいいと思ったことを載せています。
Java, C++, Perl, ActionScript2/3, JavaScript などなど</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.21-ja</generator>

<entry>
    <title>Apple Push Notification Service (APNS)をiPhoneアプリに適用する方法</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2010/05/iphoneapple-push-notification-service-apnsiphone.html" />
    <link2>http://www.koba206.com/dev-wiki/2010/05/iphoneapple-push-notification-service-apnsiphone.html</link2>
    <id>tag:www.koba206.com,2010:/dev-wiki//1.41</id>

    <published>2010-05-15T13:41:36Z</published>
    <updated>2010-05-15T15:38:46Z</updated>

    <summary>iPhoneのインスタントアラートサービス　（APNS）をiPhoneアプリケー...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[<p>iPhoneのインスタントアラートサービス　（APNS）をiPhoneアプリケーション開発に適用する方法を説明します。</p><p><br />やることは４つです。<br /></p><ol class="ol">
<li class="li"><p>まずはPusｈNotificationサービス機能をONにしたProvisioningファイルを取得する必要がある。<br /></p>
<ul>
	<li>iPhone Developer Connection PortalにアクセスしてApp IDsタブを選択</li>
        <li>App IDはワイルドカード（＊）は使用してはいけない。ワイルドカードを使用したらPush Serviceを使用することができない。例（私のApp ID）　<table bgcolor="#aaaaaa">
<tbody><tr><td>AB123346CD.com.serverdensity.iphone　</td></tr>
</tbody></table>　</li>
        <li>Submitを押して保存後、Enable for Apple Push Notification Serviceを選択してからDevelopment Push SSL　CertificateのConfigureをクリックする</li>
        <li>Keychain Access部分は説明通り辿っていけばOK。その後signed authoriｔｙをportalにアップロードしてcertificateファイル（*.cer)をダウンロードしてくる</li>
        <li>certificateファイルをダブルクリックしてKeychain Accessにインポートする</li>
　　　　　　　<li>Keychain AccessのCertificatesカテゴリを選択して、"Apple Development Push Services"を見つける </li>
　　　　　　　<li>"Apple Development Push Services" を右クリックして Export "Apple Development Push Services ID123″を選択し、"apns-dev-cert.p12"と名前をつけて保存</li>
　　　　　　　<li>その真下にある"Private Key"も同様で"apns-dev-key.p12"を名前をつけて保存</li>
　　　　　　　<li>これらのファイルをPEMファイルに変換をする必要がある。<table bgcolor="#aaaaaa">
<tbody><tr><td>
<pre>openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
</pre>
</td></tr>
</tbody></table></li>
　　　　　　　<li>サーバーがAPNSにアクセスするときにPEMファイルが必要なので、keyとcertファイルを合わせないて、apns-dev.pemファイルとして保存する
<table bgcolor="#aaaaaa">
<tbody><tr><td>
<p>
cat apns-dev-cert.pem apns-dev-key-noenc.pem &gt; apns-dev.pem
</p>
</td></tr>
</tbody></table>
</li>
</ul>

</li><li class="li"><p>iphoneアプリ側で<code>UIApplicationで</code> <code><a href="http://developer.apple.com/iPhone/library/documentation/UIKit/Reference/UIApplication_Class/Reference/Reference.html#//apple_ref/occ/instm/UIApplication/registerForRemoteNotificationTypes:" target="_top">registerForRemoteNotificationTypes:</a></code>を呼ぶ
 </p></li>
<table bgcolor="#aaaaaa">
<tbody><tr><td>
<pre>- (void)applicationDidFinishLaunching:(UIApplication *)application {    
        <br />        ＜必要な処理。。＞	
<br />       &nbsp;//push notification 
	[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
	application.applicationIconBadgeNumber = 0;
}
</pre>
</td></tr>
</tbody></table>

<li class="li"><p>iphoneアプリ側で<code>UIApplicationDelegateの </code><code><a href="http://developer.apple.com/iPhone/library/documentation/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIApplicationDelegate/application:didRegisterForRemoteNotificationsWithDeviceToken:" target="_top">application:didRegisterForRemoteNotificationsWithDeviceToken:</a></code> メソッドをインプリメントしてiPhone端末に通知するために必要な device tokenを取得する。</p></li>
<table bgcolor="#aaaaaa">
<tbody><tr><td>
<pre>- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken {
	
	#if !TARGET_IPHONE_SIMULATOR

// Get the users Device Model, Display Name, Unique ID, Token &amp; Version Number
	UIDevice *dev = [UIDevice currentDevice];
	NSString *deviceUuid = dev.uniqueIdentifier;
	NSString *deviceName = dev.name;
	NSString *deviceModel = dev.model;
	NSString *deviceSystemVersion = dev.systemVersion;
	
	// Prepare the Device Token for Registration (remove spaces and &lt; &gt;)
	NSString *deviceToken = [[[[devToken description]
				stringByReplacingOccurrencesOfString:@"&lt;"withString:@""]
				stringByReplacingOccurrencesOfString:@"&gt;" withString:@""]
				stringByReplacingOccurrencesOfString: @" " withString: @""];
	NSLog(@"deviceToken: %@", deviceToken);
	#endif
}
</pre>
</td></tr>
</tbody></table>
<li class="li">取得したdevice tokenをサーバー側に送信。device tokenを保管（DBなど）する。サーバー側からiPhone端末に通知する時にdevice tokenを使って通知する。</li></ol>　　　　＜ソースコードは近日公開＞<br /><br /><br />注意書き：<br />アプリを起動した時に下記のようなエラーメッセージがコンソールに出て、DeviceTokenを取得できない人たちが出てくるでしょう。<br /><pre><strong>"Error Domain=NSCocoaErrorDomain Code=3000 UserInfo=0x113e80 "no valid 'aps-environment' entitlement string found for application"</strong><br /><br />これはビルドに使用したProvisioning ProfileがPush Notification Serviceの使用が<br />許可されてないからです。<br />まずは、プロジェクトのプロパティを開き<br />Code Signing Identityが先程作成したPush Notification ServiceがONになっている<br />Profileのを確認。一度Clean All Targetsを選択して、Buildし直してみてください。<br />これでも同じエラーが出るようでしたら、Provisioning Profile（*.mobileprovision)ファイルを<br />App IDのApple Push Notification serviceをEnableに設定する前にダウンロードした可能性が高いです。<br />もう一度、Provisioning Profile（*.mobileprovision)ファイルを<br />ダウンロードしてXcodeのOrganizerを使って適用したらいいでしょう。<br />あと、Organizerで古いProvisioning Profileは削除した方がいいです。<br />時々古いファイルを読み込んでしまう時があります。<br /><br /></pre>
<br /><br />
<center><b>私のオススメiPhone開発本</b></center>
<table><tbody><tr>
<td>
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=koba206-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=1X69VDGQCMF7Z30FM082&amp;asins=4806133957" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe>
</td>
<td>
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=koba206-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=1X69VDGQCMF7Z30FM082&amp;asins=4798119687" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe>
</td>
<td>
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=koba206-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=1X69VDGQCMF7Z30FM082&amp;asins=4861006848" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe>
</td>
<td>
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=koba206-22&amp;o=9&amp;p=8&amp;l=as1&amp;m=amazon&amp;f=ifr&amp;md=1X69VDGQCMF7Z30FM082&amp;asins=0321659570" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"></iframe>
</td>
</tr></tbody></table>
]]>
        

    </content>
</entry>

<entry>
    <title>iphoneアプリ開発：アップロード時にエラーを起こす件</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2010/03/iphone.html" />
    <link2>http://www.koba206.com/dev-wiki/2010/03/iphone.html</link2>
    <id>tag:www.koba206.com,2010:/dev-wiki//1.39</id>

    <published>2010-03-27T00:16:53Z</published>
    <updated>2010-03-27T00:38:19Z</updated>

    <summary>iTunes Connectを使ってDistribution用にBuildしてZ...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[iTunes Connectを使ってDistribution用にBuildしてZIP圧縮したファイルをアップロードすると、<br />"The binary you uploaded was invalid. The signature was invalid, or it was not signed with an Apple submission certificate."というエラーが起きていた。数時間いろいろ同じ体験をしているユーザーの書き込みを見ていろいろと試してみた。私の環境では最後の４番目の方法が上手くファイルをアップロードできるようになりました。<br /><br />１。<code class="jive-code jive-java">codesign -vvvv MyAppName.app　をして正しく下記が出力されるか<br /></code><pre class="jive-pre"><code class="jive-code jive-java">MyAppName.app: valid on disk<br />MyAppName.app: satisfies its Designated Requirement<br /></code></pre>２。MyAppName.app を右クリックして「パッケージの内容を表示」を選択して中身に壊れているファイルがないかをチェック<br />＊注意：ZIP圧縮をかけてからやってください。内容を表示したらファイルを壊す可能性があるので、まずはZIP圧縮してからチェックするように<br /><br />３。info.plistのBundle identifierでは<br />com.mycompany.${PRODUCT_NAME:identifier}<br />のままではいけません。<br />com.mycompany.AppName<br />という感じに直す。<br /><br />４。.xcodeproj パッケージの中のproject.pbxprojを開いて Distribution 部分のところを確認する<br /><blockquote><pre class="jive-pre"><code class="jive-code jive-java">84D2ED8E0E5B857A00CAA465 <font color="darkgreen">/* Distribution */</font> = <font color="navy">{</font><br />			isa = XCBuildConfiguration;<br />			buildSettings = <font color="navy">{</font><br />				ALWAYS_SEARCH_USER_PATHS = NO;<br />				ARCHS = <font color="red">"$(ARCHS_STANDARD_32_BIT)"</font>;<br />				GCC_C_LANGUAGE_STANDARD = c99;<br />				GCC_WARN_ABOUT_RETURN_TYPE = YES;<br />				GCC_WARN_UNUSED_VARIABLE = YES;<br />				PREBINDING = NO;<br />				SDKROOT = iphoneos2.0;<br />			<font color="navy">}</font>;<br />			name = Distribution;<br />		<font color="navy">}</font>;<br />		84D2ED8F0E5B857A00CAA465 <font color="darkgreen">/* Distribution */</font> = <font color="navy">{</font><br />			isa = XCBuildConfiguration;<br />			buildSettings = <font color="navy">{</font><br />				CODE_SIGN_IDENTITY = <font color="red">"iPhone Distribution: My Company Name Ltd."</font>;<br />				COPY_PHASE_STRIP = YES;<br />				GCC_PRECOMPILE_PREFIX_HEADER = YES;<br />				GCC_PREFIX_HEADER = ThisApp_Prefix.pch;<br />				INFOPLIST_FILE = Info.plist;<br />				PRODUCT_NAME = ThisApp;<br />				PROVISIONING_PROFILE = <font color="red">"00D072E0-3459-4AFF-911E-B31D325E7375"</font>;<br />				<font color="red">"PROVISIONING_PROFILE[sdk=iphoneos*]"</font> = <font color="red">"B260C653-9A45-372C-A472-31F1531EEA44"</font>;<br />			<font color="navy">}</font>;<br />			name = Distribution;<br />		<font color="navy">}</font>;<br /></code></pre></blockquote><br />２つ目の"PROVISIONING_PROFILE"を消してファイルを保存。プロジェクトクリーンして再ビルドしたらOK.<br />参考：http://discussions.apple.com/message.jspa?messageID=9167082#9167082<br /><br /> ]]>
        
    </content>
</entry>

<entry>
    <title>CVSのsshextをコマンドラインでする方法</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2010/03/cvssshext.html" />
    <link2>http://www.koba206.com/dev-wiki/2010/03/cvssshext.html</link2>
    <id>tag:www.koba206.com,2010:/dev-wiki//1.38</id>

    <published>2010-03-09T01:39:52Z</published>
    <updated>2010-03-09T01:54:40Z</updated>

    <summary>Eclipseでsshextを使ってCVSに接続しているアナタ達へMACとかLi...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="cvs" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="cvs" label="cvs" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="sshext" label="sshext" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[Eclipseでsshextを使ってCVSに接続しているアナタ達へ<br /><br />MACとかLinux上で簡単にコマンドラインからCVSに接続することができます。<br />まずは~/.bashrcに以下の情報を入力<br /><br /><blockquote>export CVS_RSH="ssh"<br />export CVSROOT=":ext:&lt;username&gt;@&lt;cvsserverアドレス&gt;:/path/to/cvsroot"<br /><br />alias cvsstatus = "cvs status | grep Status | grep -v Up"<br />alias cvsupdate = "cvs update -P -C -d"<br /></blockquote><br />でこれを適用後、CVSチェックアウトしたら完了です。<br /><br /><blockquote>cvs -d $CVSROOT checkout プロジェクト名<br /></blockquote><br />参照：http://hurring.com/scott/cvs_ssh<br /> ]]>
        
    </content>
</entry>

<entry>
    <title>高速検索コマンド</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2010/02/post-1.html" />
    <link2>http://www.koba206.com/dev-wiki/2010/02/post-1.html</link2>
    <id>tag:www.koba206.com,2010:/dev-wiki//1.37</id>

    <published>2010-02-03T01:05:55Z</published>
    <updated>2010-02-03T01:08:12Z</updated>

    <summary>通常検索する場合、grep -H &quot;検索言葉&quot; ***.txt 又は grep ...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="Linux" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[通常検索する場合、<code>grep -H "検索言葉" ***.txt 又は </code><code>grep -H "検索言葉" * <br />だけど、grepだと時間が掛かる。ファイル数が多い場合はかなり時間が掛かる。<br /></code><br />その場合は↓　高速検索だ<br />for i in `find ./`; do grep -H "検索言葉" $i; done ]]>
        
    </content>
</entry>

<entry>
    <title>ImageMagickとPerlMagickのインストール</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/12/imagemagickperlmagick.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/12/imagemagickperlmagick.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.36</id>

    <published>2009-12-19T06:10:59Z</published>
    <updated>2009-12-19T06:23:48Z</updated>

    <summary>ImageMagick : http://www.imagemagick.org...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="imagemagick" label="ImageMagick" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perlmagick" label="PerlMagick" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[<br />ImageMagick : http://www.imagemagick.org/script/index.php<br />PerlMagick : http://www.imagemagick.org/script/perl-magick.php<br />PerlMagick cpan : http://search.cpan.org/~jcristy/PerlMagick/<br /><br /><b><u>ImageMagickのインストール</u></b><br /><br /><blockquote><span class="crtin">tar xvfz ImageMagick.tar.gz</span><br /><span class="crtin"></span><span class="crtprompt"></span><span class="crtin">cd ImageMagick-6.5.8</span><span class="crtout"></span><span class="crtprompt"> </span><br /><span class="crtprompt"></span><span class="crtin">./configure</span><span class="crtout"></span><span class="crtprompt"> </span><br /><span class="crtprompt"></span><span class="crtin">make</span><br /><span class="crtin">sudo make install</span><br /><span class="crtin">make check</span><br /></blockquote>make checkでエラーが出なかったらOK<br />Ubuntuの方は ~/.bashrc　に　export LD_LIBRARY_PATH=/usr/local/lib　を追加する<br /><br /><u><b>PerlMagickのインストール</b></u><br /><br />ImageMagickのソースディレクトリにそのバージョンに適用しているPerlMagickが入っているのでそれを使う<br /><br /><blockquote>perl Makefile.pl<br />make<br />sudo make install<br /><br /></blockquote>私の場合はmake中に下記のエラーが出た。<br /><br /><blockquote><font style="font-size: 0.8em;">LD_RUN_PATH="/usr/local/src/ImageMagick-6.5.8-6/PerlMagick/../magick/.libs:/usr/lib" cc&nbsp; -L../magick/.libs -lMagickCore -shared -O2 -L/usr/local/lib -fstack-protector&nbsp; Magick.o&nbsp; -o blib/arch/auto/Image/Magick/Magick.so &nbsp;&nbsp;&nbsp; \<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; -L/usr/local/src/ImageMagick-6.5.8-6/PerlMagick/../magick/.libs -lMagickCore -lperl -lm&nbsp; &nbsp;&nbsp;&nbsp; \<br />&nbsp;&nbsp;&nbsp; &nbsp; <br />/usr/bin/ld: cannot find -lperl<br />collect2: ld returned 1 exit status<br />make: *** [blib/arch/auto/Image/Magick/Magick.so] Error 1</font><br /></blockquote><br />これはlibperlが見つからないため。<br />&nbsp;<br />sudo apt-get install libperl-dev<br /><br />で入る。これでもう一度make &amp;&amp; make installインストールをしたら問題なく入る<br /><br /><br /><br /><br /><br /><blockquote><span class="crtin"></span></blockquote><span class="crtin"><br /><br /></span>]]>
        
    </content>
</entry>

<entry>
    <title>[android] ログを表示する方法</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/12/android.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/12/android.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.35</id>

    <published>2009-12-04T04:33:19Z</published>
    <updated>2009-12-04T05:37:53Z</updated>

    <summary>コマンドラインを立ち上げてAndroid SDKのtoolsフォルダーまでいくC...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="android" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="android" label="android" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[コマンドラインを立ち上げてAndroid SDKのtoolsフォルダーまでいく<br /><br />C:\eclipse-android\android-sdk-windows\tools&gt;<br />C:\eclipse-android\android-sdk-windows\tools&gt;adb logcat<br /><br />C:\eclipse-android\android-sdk-windows\tools&gt;adb logcat *:I <br />↑Infoだけ出力したい場合<br /><br />と入力すれば、<br />ソース側で<br />import android.util.Log;<br /><br />Log.i("Hello World");<br /><br />などしたものは全部出力されますよ。<br /><br />------------------------------------------------------<br />出力モード：<br />Log.<span class="me1">v</span> <span class="br0">(</span><span class="kw1">for</span> verbose<span class="br0">)</span> 
<br />
&nbsp; &nbsp;Log.<span class="me1">d</span> <span class="br0">(</span><span class="kw1">for</span> debug<span class="br0">)</span> 
<br />
&nbsp; &nbsp;Log.<span class="me1">i</span> <span class="br0">(</span><span class="kw1">for</span> info<span class="br0">)</span> 
<br />
&nbsp; &nbsp;Log.<span class="me1">w</span> <span class="br0">(</span><span class="kw1">for</span> warnings<span class="br0">)</span> 
<br />
&nbsp; &nbsp;Log.<span class="me1">e</span> <span class="br0">(</span><span class="kw1">for</span> errors<span class="br0">)<br /><br />参考サイト： http://developer.android.com/guide/developing/tools/adb.html<br /><br /></span>]]>
        
    </content>
</entry>

<entry>
    <title>client denied by server configuration</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/09/client-denied-by-server-configuration.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/09/client-denied-by-server-configuration.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.34</id>

    <published>2009-09-14T04:54:12Z</published>
    <updated>2009-09-14T05:02:19Z</updated>

    <summary>Apache 2.2を再インストールして、mod_perlを使ってCatalys...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="apache" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[<br />Apache 2.2を再インストールして、mod_perlを使ってCatalystを起動する設定にした。<br />Catalyst内のページにアクセスしようとするとApacheのログに下記のエラーが出てた。<br /><br />[Mon Sep 14 13:48:50 2009] [error] [client 203.112.27.142] client denied by server configuration: /www/dev_koba206/cpanauthors, referer: http://www.koba206.com/<br /><br />何が原因か探していたら、server confのアクセス権限の設定がApache 2.20から変わっていた。<br /><br />Apache 2.0のは<br />&lt;Directory &gt;
    Options FollowSymLinks
    AllowOverride None
&lt;/Directory&gt;
<br /><br />Apache 2.20のは<br />&lt;Directory&gt;
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
&lt;/Directory&gt;<br /><br />このセキュリティー強化設定でvhostのdocrootへのアクセス拒否を起こしていたのであった。<br /><br />コメントアウトしたらOKになったけど、セキュリティー上どうなんだろ。。 <br />]]>
        
    </content>
</entry>

<entry>
    <title>[django, python, mysqldb] Djangoセットアップ</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/07/django-python-mysqldb-django.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/07/django-python-mysqldb-django.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.33</id>

    <published>2009-07-05T12:21:47Z</published>
    <updated>2009-07-05T12:47:04Z</updated>

    <summary>djangoをインストール後、新しいウェブアプリケーション・ディレクトリを作成す...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="Python" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="django" label="Django" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[djangoをインストール後、新しいウェブアプリケーション・ディレクトリを作成する。<br /><b>$ django-admin.py startproject &lt;ウェブアプリケーション名&gt;</b><br /><br />作成したウェブアプリをテスト起動するには<b><br />$ python manage.py runserver localhost:8000</b><br /><br />ウェブアプリケーションの<br /><ul class="simple"><li><a title="Django's authentication framework." class="reference external" href="http://docs.djangoproject.com/en/dev/topics/auth/#module-django.contrib.auth"><tt class="xref docutils literal"><span class="pre">django.contrib.auth</span></tt></a> -- An authentication system.</li><li><a title="Provides generic interface to installed models." class="reference external" href="http://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/#module-django.contrib.contenttypes"><tt class="xref docutils literal"><span class="pre">django.contrib.contenttypes</span></tt></a> -- A framework for content types.</li><li><a title="Provides session management for Django projects." class="reference external" href="http://docs.djangoproject.com/en/dev/topics/http/sessions/#module-django.contrib.sessions"><tt class="xref docutils literal"><span class="pre">django.contrib.sessions</span></tt></a> -- A session framework.</li><li><a title="Lets you operate multiple web sites from the same database and Django project" class="reference external" href="http://docs.djangoproject.com/en/dev/ref/contrib/sites/#module-django.contrib.sites"><tt class="xref docutils literal"><span class="pre">django.contrib.sites</span></tt></a> -- A framework for managing multiple sites
with one Django installation.</li></ul>を適用させるにはDBにテーブルを作る必要がある。それをするには下記のコマンドで実行<br /><br /><b>$ python manage.py syncdb</b><br />Creating table auth_permission<br />Creating table auth_group<br />Creating table auth_user<br />Creating table auth_message<br />Creating table django_content_type<br />Creating table django_session<br />Creating table django_site<br /><br />You just installed Django's auth system, which means you don't have any superusers defined.<br />Would you like to create one now? (yes/no): yes<br />Username (Leave blank to use 'tkobayashi'):<br />E-mail address: koba206@gmail.com<br />Password:<br />Password (again):<br />Superuser created successfully.<br />Installing index for auth.Permission model<br />Installing index for auth.Message model<br /><br />参考URL：<br />http://docs.djangoproject.com/en/dev/intro/tutorial01/#intro-tutorial01<br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>[django, python, mysqldb] mysqldbインストール</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/07/django-python-mysqldb.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/07/django-python-mysqldb.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.32</id>

    <published>2009-07-05T12:03:21Z</published>
    <updated>2009-07-05T12:20:45Z</updated>

    <summary>DjangoでMySQLを使う際にはまずMySQLｄｂをインストールする必要があ...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="Python" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="mysqldb" label="MySQLdb" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[DjangoでMySQLを使う際にはまずMySQLｄｂをインストールする必要がある。<br /><br />#python<br />&gt;&gt;&gt; import MySQLdb<br />Traceback (most recent call last):<br />&nbsp;&nbsp; File "&lt;stdin&gt;", line 1, in ?<br /><pre>ImportError: No module named MySQLdb<br />とMySQLdbが入っていないエラーが出る。<br /></pre>pythonではapt-getみたいな自動インストールツールがある。それがeasy_install。これを使うには、まずsetuptoolsをインストールする必要がある。<br /><br />wget http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c9-py2.5.egg#md5=fe67c3e5a17b12c0e7c541b7ea43a8e6<br />sh setuptools-0.6c9-py2.5.egg<br /><br /><strike>wget http://sourceforge.net/projects/mysql-python/files/mysql-python-test/MySQL_python-1.2.3c1-py2.6-linux-i686.egg<br />easy_install MySQL_python-1.2.3c1-py2.6-linux-i686.egg</strike><br /><br />↓結局こっちのほうがうまくいった<br />apt-get install python-mysqldb<br />apt-get install libmysqlclient15-dev<br /><br />root@koba206:/usr/local/src# python<br />Python 2.5.2 (r252:60911, Jul 31 2008, 17:28:52)<br />[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2<br />Type "help", "copyright", "credits" or "license" for more information.<br />&gt;&gt;&gt; import MySQLdb<br /><br />↑エラーが出なかったので、これでOK<br /><br />参考URL<br />http://sourceforge.net/projects/mysql-python/files/<br /><br />]]>
        
    </content>
</entry>

<entry>
    <title>iPhoneでmp4ファイルを途中再生対応について</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/06/iphonemp4.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/06/iphonemp4.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.31</id>

    <published>2009-06-02T05:14:40Z</published>
    <updated>2009-06-02T06:00:25Z</updated>

    <summary>nginxではpsuedo streamingという途中再生が可能になる機能に対...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="iPhone" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[<pre class="wiki"><a href="http://nginx.net/">nginx</a>ではpsuedo streamingという途中再生が可能になる機能に対応している。</pre><pre class="wiki">たとえば、ファイル名の後に ?start=60　を付けたら最初から1分後からの動画をリクエストできるようになっている。</pre><pre class="wiki">これをiPhoneでも試してみようと思ったが、少し工夫が必要だったのでここに記載する。</pre><pre class="wiki">iPhoneで再生可能なのはmp4ファイルで、videoがh.264、audioがaacだ。</pre><pre class="wiki">&nbsp;</pre><pre class="wiki"><u><strong>Ngix＆mp4ストリーミングモジュールインストール方法</strong></u></pre><pre class="wiki">①</pre>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px"><pre class="wiki">cd /usr/local/src/
wget http://www.<span class="searchword0">nginx</span>.eu/download/sources/<span class="searchword0">nginx</span>-0.7.9.tar.gz
tar zxvf <span class="searchword0">nginx</span>-0.7.9.tar.gz
</pre></blockquote>
<p>&nbsp;②</p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px"><pre class="wiki">cd /usr/local/src/
svn export http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.1rc2/nginx <span class="searchword0">nginx</span>_http_h264_<span class="searchword2">stream</span>ing
svn export --force http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.1rc2/mp4split <span class="searchword0">nginx</span>_http_h264_<span class="searchword2">stream</span>ing
</pre></blockquote>
<p>③&nbsp;</p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px"><pre class="wiki">cd /usr/local/src/<span class="searchword0">nginx</span>-0.7.9
./configure --add-module=/usr/local/src/nginx_http_h264_streaming --sbin-path=/usr/local/sbin --with-debug
make
sudo make install</pre></blockquote>
<p>④</p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p>&nbsp;vi /usr/local/<span class="searchword0">nginx</span>/conf/<span class="searchword0">nginx</span>.conf</p></blockquote>
<p>下記を追加（43行目ぐらい）：</p>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px"><pre class="wiki">location ~ \.<span class="searchword1">mp4</span>$ {
  <span class="searchword1">mp4</span>;
}</pre></blockquote><pre class="wiki">⑤起動</pre><pre class="wiki"><blockquote dir="ltr" style="MARGIN-RIGHT: 0px"><pre class="wiki">sudo /usr/local/sbin/<span class="searchword0">nginx</span>
</pre></blockquote></pre>
<p align="center">-------------------------------------------------------------------------------------------------------</p>
<p align="left">モジュールのSVN(iphone再生対応しているブランチ)：</p>
<p><a href="http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.1rc2/nginx">http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.1rc2/nginx</a></p>
<p><a href="http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.1rc2/mp4split">http://h264.code-shop.com/svn/h264/tags/mod_h264_streaming-2.1rc2/mp4split</a></p>
<p>&nbsp;</p>
<p>参照：</p>
<p><a href="http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Nginx-Version2">http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Nginx-Version2</a>&nbsp;- Nginxインスト方法</p>
<p>（ここに記載されているmod_h264_streamingはiPhone再生に対応していない）</p>
<p><a href="http://h264.code-shop.com/trac/discussion/1/18">http://h264.code-shop.com/trac/discussion/1/18</a>&nbsp;- iPhone range requestの件</p>
<p><a href="http://h264.code-shop.com/trac/wiki/ReleaseNotes-Version2">http://h264.code-shop.com/trac/wiki/ReleaseNotes-Version2</a>&nbsp;iPhone range requestに対応しているバージョン</p>
<p>&nbsp;</p>]]>
        
    </content>
</entry>

<entry>
    <title>Perl5.10からpseudohashes使えない件</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/05/perl510pseudohashes.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/05/perl510pseudohashes.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.30</id>

    <published>2009-05-28T07:06:02Z</published>
    <updated>2009-05-28T08:45:43Z</updated>

    <summary>Perl5.10以前ではPseudo-hashesを使っても「Pseudo-ha...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[<br />Perl5.10以前ではPseudo-hashesを使っても「Pseudo-hashes are deprecated」とWarningが出るだけだったが、Perl5.10では使えなくなっている。Restricted hashesを使うように推奨されている。<br /><br />もちろん、Pseudo-hashesは使わないほうがいいのだが、どうしてもという時がある。<br />その時は、Class::PseudoHash モジュールを使うとPseudo-hashesをPerl5.10でも使えることができる。みたい。。<br /><br /><br />参照：<a href="http://books.google.co.jp/books?id=1bbjLxkBLaMC&amp;pg=PA130&amp;lpg=PA130&amp;dq=perl+Pseudo-hashes+foreach&amp;source=bl&amp;ots=GfdQLyUNOA&amp;sig=urMcjtNYqXddUtOYe1SSdXGno74&amp;hl=en&amp;ei=-TYeSqjOK8aIkAX5oq2ODQ&amp;sa=X&amp;oi=book_result&amp;ct=result&amp;resnum=5#PPA131,M1">Pro Perl</a><br />]]>
        
    </content>
</entry>

<entry>
    <title>CPANモジュールをローカルにインストール</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/05/cpan-1.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/05/cpan-1.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.29</id>

    <published>2009-05-28T01:45:50Z</published>
    <updated>2009-05-28T05:30:30Z</updated>

    <summary>通常root権限がないとCPANモジュールをインストールする時に権限がなくてエラ...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
        <category term="Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="cpan" label="cpan" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[通常root権限がないとCPANモジュールをインストールする時に権限がなくてエラーが発生する。<br />これを回避することができる。自分にフルアクセスがあるホームディレクトリに全部入れることができる。<br /><br />perl -MCPAN -e shell<br /><br /><blockquote><strike>cpan[6]&gt; o conf makepl_arg "LIB=~/perl/lib \</strike><br /><strike>&nbsp;&nbsp;&nbsp; &gt; INSTALLMAN1DIR=~/perl/man/man1 \</strike><br /><strike>&nbsp;&nbsp;&nbsp; &gt; INSTALLMAN3DIR=~/perl/man/man3"</strike><br /><strike>&nbsp;&nbsp;&nbsp; makepl_arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [LIB=~/perl/lib INSTALLMAN1DIR=~/perl/man/man1 INSTALLMAN3DIR=~/perl/man/man3]</strike><br /><strike>Please use 'o conf commit' to make the config permanent!</strike><br /></blockquote>↑フルパスじゃないとダメみたい<br /><br /><blockquote>cpan[3]&gt; o conf makepl_arg "LIB=/mnt/nfs/home/tkobayashi/perl/lib \<br />&nbsp;&nbsp;&nbsp; &gt; PREFIX=/mnt/nfs/home/tkobayashi/perl \<br />&nbsp;&nbsp;&nbsp; &gt; INSTALLMAN1DIR=/mnt/nfs/home/tkobayashi/perl/man/man1 \<br />&nbsp;&nbsp;&nbsp; &gt; INSTALLMAN3DIR=/mnt/nfs/home/tkobayashi/perl/man/man3"<br />&nbsp;&nbsp;&nbsp; makepl_arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [LIB=/mnt/nfs/home/tkobayashi/perl/lib PREFIX=/mnt/nfs/home/tkobayashi/perl INSTALLMAN1DIR=/mnt/nfs/home/tkobayashi/perl/man/man1 INSTALLMAN3DIR=/mnt/nfs/home/tkobayashi/perl/man/man3]<br />Please use 'o conf commit' to make the config permanent!<br /></blockquote><br />↓これでちゃんと値が入力しているかチェック<br /><blockquote>cpan[5]&gt; o conf makepl_arg<br />&nbsp;&nbsp;&nbsp; makepl_arg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [LIB=/mnt/nfs/home/tkobayashi/perl/lib PREFIX=/mnt/nfs/home/tkobayashi/perl INSTALLMAN1DIR=/mnt/nfs/home/tkobayashi/perl/man/man1 INSTALLMAN3DIR=/mnt/nfs/home/tkobayashi/perl/man/man3]<br />Type 'o conf' to view all configuration items<br /></blockquote><br />この修正をコミットしておく<br /><blockquote>cpan[3]&gt; o conf commit<br />commit: wrote '/mnt/nfs/home/tkobayashi/.cpan/CPAN/MyConfig.pm'<br /></blockquote>これだけだとインストール先のディレクトリがPerlのライブラリパスに含まれていないので、せっかくインストールしたモジュールが使えない。そこでPERL5LIBという環境変数を設定する。<br /><br />export PERL5LIB=/mnt/nfs/home/tkobayashi/perl/lib:/mnt/nfs/home/tkobayashi/perl/lib/site_lib<br /><br />.bash_profileなどにこの設定を書き込んでおくとそのユーザでは常に野良インストールしたモジュールが使えるようになる。逆に言えばこの設定を無効にすることで、いつでも元の環境に戻すことができる。<br />]]>
        <![CDATA[<div align="center"><br />---------------------------------------------------------------------------------------------------------<br /></div><br /><br />どうやら、本文の設定だけでは完璧ではなかったらしい。＄PERL5LIBの設定だけでは.pmファイルの保管場所だけを設定していて、/usr/local/lib/perl にアクセスしにいこうとしてエラーを起こす。<br /><br />ここで最近流行って使われているのが <a href="http://search.cpan.org/%7Eapeiron/local-lib-1.004001/lib/local/lib.pm">local::lib</a>　のモジュールを使用することらしい。<br />これを使えば＄PERL5LIBを含め必要な環境設定を全部してくれる。（してくれるというか、何を設定するばいいか、教えてくれる感じ）<br /><br />とりあえず、このlocal::libモジュールもcpan使っては正しく入らないので、<a href="http://search.cpan.org/src/APEIRON/local-lib-1.004001/lib/local/lib.pm">ソースファイル</a>をダウンロードしてくる。localディレクトリを作ってその中にダウンロードしてきた、lib.pmファイルを入れる。で↓のように実行して上げたら、必要な変数が自動的にセットしてくれる。<br /><br /><blockquote>cd /&lt;Perlモジュールなどをインストールしてもらいたいディレクトリ&gt;<br />
<pre>perl -Mlocal::lib=./　←アウトプットしてくれるだけ<br />eval $(perl -Mlocal::lib=./)　←実際の実行<br /><br /></pre></blockquote><pre>アウトプットしたやつを.bash_profileか何かに入れておけば、毎回自動的にセットしてくれる。<br /><br /><br /></pre><br />]]>
    </content>
</entry>

<entry>
    <title>PuttyでEC2に接続する</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/05/puttyec2.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/05/puttyec2.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.28</id>

    <published>2009-05-25T09:35:25Z</published>
    <updated>2009-05-25T09:49:24Z</updated>

    <summary>１．PUTTYGENを使って、「ec2-add-keypair gsg-keyp...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
    <category term="amazonec2" label="amazon ec2" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[１．PUTTYGENを使って、「ec2-add-keypair gsg-keypair」で取得したkeyをコンバートする。<br /><blockquote>a. Load押してid_rsa-gsg-keypairファイルを選択。<br />b. 「Save private key」をクリックし、PUTTY用Keyファイルを作成する。<br /></blockquote>２．PUTTY.EXEを起動する。左メニュー「Connection」→「SSH」→「Auth」の「Authentication
parameters」にある「Private key file authentication」にPUTTY用Keyファイルを設定する。<br />３．左メニュー「Session」の 「Host Name」にホスト名を入れ、「Open」をクリック。<br />４．コンソールが出てきたら、「root」を入力したら入れる<br /> ]]>
        
    </content>
</entry>

<entry>
    <title>Firefoxプラグイン使ってEC2を操作する</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/05/elasticfox-firefox-extension-for-amazon-ec2.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/05/elasticfox-firefox-extension-for-amazon-ec2.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.27</id>

    <published>2009-05-25T08:44:08Z</published>
    <updated>2009-05-25T09:15:23Z</updated>

    <summary>Elasticfox Firefox Extension for Amazon ...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
    <category term="amazonec2" label="amazon ec2" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[Elasticfox Firefox Extension for Amazon EC2を使ってEC2を操作してみる<br /><br />１．ここからFirefoxのプラグインをインストール<br />http://developer.amazonwebservices.com/connect/entry.jspa?externalID=609<br /><br />２．Firefoxのツールに新しく追加された「Elasticfox」をクリック<br />３．左上にある「Credentials」をクリック<br />４．「Account Name」、「AWS Access Key」、「AWS Secret Access Key」を入力し「Add」をクリックすると、アカウントが追加される。<br />５．「Credentials」タブの横にある↓（下矢印）をクリック。先ほど入力したAccount Nameが表示されるのでそれを選択すると「Machine Images(AMIs)」タブにたくさんの利用可能なAMIが表示される。]]>
        
    </content>
</entry>

<entry>
    <title>Amazon EC2を使ってみる</title>
    <link rel="alternate" type="text/html" href="http://www.koba206.com/dev-wiki/2009/05/amazon-ec2.html" />
    <link2>http://www.koba206.com/dev-wiki/2009/05/amazon-ec2.html</link2>
    <id>tag:www.koba206.com,2009:/dev-wiki//1.26</id>

    <published>2009-05-24T07:42:17Z</published>
    <updated>2009-05-25T09:30:43Z</updated>

    <summary>１．Amazon Web Servicesでアカウント作成する(amazon.c...</summary>
    <author>
        <name>koba206</name>
        <uri>http://www.koba206.com</uri>
    </author>
    
    <category term="amazonec2" label="amazon ec2" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.koba206.com/dev-wiki/">
        <![CDATA[<br />１．Amazon Web Servicesでアカウント作成する(amazon.comで登録済みだったらそのままでOK）<br />http://aws.amazon.com/<br /><br />２．運用するサービスを選ぶ： Amazon EC2<br /><span class="hdrdkorange"><nobr>Amazon Simple Storage Service</nobr></span>
		  も自動的に選択される（データ保存に必ず必要）<br /><br />３．メールにAccess Identifiers（認証キー）へのリンクを送ってくれる。<br /><br /><b>コマンドプロンプトからコマンドを使用する方法</b><br />４．EC2 API Toolsをダウンロードする<br />これを使ってPCからインスタンスを起動したりコントロールする<br />参考：http://developer.amazonwebservices.com/connect/entry.jspa?externalID=351&amp;categoryID=88<br /><br />５．EC2 API Toolsをセットアップ<br />a. ダウンロードしたディレクトリをunzipしてc:\aws\ec2-api-tools という感じで置く<br />b. 環境変数設定をする<br /><blockquote><b>C:\&gt; set EC2_HOME=&lt;path-to-tools&gt;<br />C:\&gt; set&nbsp; PATH=%PATH%;%EC2_HOME%\bin</b><br /></blockquote>参考：http://docs.amazonwebservices.com/AmazonEC2/gsg/2007-01-19/setting-up-your-tools.html#set-aes-home<br /><br />６．認証情報をToolsに登録する<br />a. Amazon Web Servicesページに行ってX.509 Certificateを作成する<br />そしたらPrivate KeyファイルとX509認証書ファイルがダウンロードできるようになる。ダウンロードして、c:\aws\ec2\ に置いておく。<br />b. 環境変数設定をする<br /><blockquote><b>C:\&gt; set EC2_PRIVATE_KEY=C:\aws\ec2\pk-&lt;*****&gt;.pem<br />C:\&gt; set EC2_CERT=C:\aws\ec2\cert-&lt;*****&gt;.pem<br /></b></blockquote>＊環境セットアップはここで終わり＊<br /><br />７．接続の確認<br />
次のコマンドを入力し、いくつかのインスタンスが表示されれば、接続成功。<br />
<b>C:\&gt;ec2-describe-images -o self -o amazon<br /><br /></b>８．SSH接続するためのKeypairの作成<br />
<b>C:\&gt;ec2-add-keypair gsg-keypair <br /></b>このときに出力されたキーをファイルとして保存しておこう。<br /><blockquote>-----BEGIN&nbsp;RSA&nbsp;PRIVATE&nbsp;KEY-----<br /><br />-----END&nbsp;RSA&nbsp;PRIVATE&nbsp;KEY-----<br /></blockquote>Puttyなどで接続する際に必要になってくる。<br />コピーする時は上記のコメントも含める。<br />保存するファイル名は「id_rsa-gsg-keypair」。<br /><br />９．インスタンスの起動<br />
<b>C:\&gt;ec2-run-instances ami-25b6534c -k gsg-keypair</b><br />
                                ami-25b6534c　はFedora4Core、Apache 2.0、MySQL 4.1、PHP 5.0が入っている<br /><br />１０．インスタンスの状態の確認(How to Check the instance)<br />
<b>C:\&gt;ec2-describe-instances ＜インスタンスID&gt;</b><br /><br />１１．アクセス可能にするポートを開放<br />
<b>C:\&gt;ec2-authorize default -p 22</b><br />
<b>C:\&gt;ec2-authorize default -p 80</b><br /><br />
この時点でURLにアクセスしたらApacheテストページが出てくる
<br /><br />１２．インスタンスを終了<br />CMD シャットダウン中<br />
<b>C:\&gt;ec2-terminate-instances i-XXXXXXXX</b><br />
INSTANCE        i-71ee2318      running shutting-down<br /><br />CMD シャットダウン完了<br />
<b>C:\&gt;ec2-terminate-instances i-XXXXXXXX</b><br />
INSTANCE        i-71ee2318      terminated      terminated<br /><br /><b><br /></b>]]>
        
    </content>
</entry>

</feed>
