Google App Engineで、Python、Javaに続いてGoのランタイム環境が提供された、とのこと。
よく解らないながら、とりあえず開発環境だけでも整えておくかぁ、と思ったところ、今のところSDKはLinuxまたはMac OSでしか提供されていない模様。
とりあえず、手元にあるFedora 12上で、SDKが動作するところまで構築してみたので、覚書。
最初はFedora Core 5という古い環境で試そうとしたが、最終的にGoのコンパイルがうまく行かないみたいなので挫折したのは秘密…。
■参考
Virtual Linux envirionments using real partitions for dual boot system
Python/インストール/Linux/Python - MinacoWiki
方針
- Go開発専用のアカウント(gaego)を用意する。
- Fedora 12だとPython 2.6系が入っているが、GAEのSDKが正規にサポートしているPython 2.5をインストールする。
- GAEのSDKで必要なSSLとPILは入れておく。
- Windowsからリモート接続して動作確認したいため、X Server(Xming)を動かしておく。
- Xming上でも日本語は入力出来るようにしておく。
手順
Go開発専用アカウント(gaego)の作成
# adduser -m gaego # passwd gaego # su - gaego $ mkdir -p ~/temp
$HOME直下にtempディレクトリを作成してそこで作業する。
Go SDKのダウンロードと展開
$ cd ~/temp $ wget http://googleappengine.googlecode.com/files/go_appengine_sdk_linux_386-1.5.0.zip $ unzip go_appengine_sdk_linux_386-1.5.0.zip -d ~/
$HOME/google_appengine/というフォルダが作成され、そこのファイルが格納される。
Python 2.5.5のインストール
$ cd ~/temp $ wget http://www.python.org/ftp/python/2.5.5/Python-2.5.5.tgz $ tar xvfz ./Python-2.5.5.tgz $ cd Python-2.5.5 $ ./configure --prefix=$HOME $ make $ make install
configureに--prefix=$HOMEを指定することで、$HOME下にインストールされる。$HOME下にはbin、include、lib、shareというフォルダが作成され、その下に各ファイルが格納される。
Go SDKとPython 2.5.5にPATHを通す
$ vi ~/.bash_profile
PATH=$HOME/google_appengine:$HOME/bin:$PATH
のように、$HOME/google_appengineと$HOME/binが先頭に来るようにPATH環境変数を変更する。
$ source ~/.bash_profile $ python -V Python 2.5.5
のように、Python 2.5.5が動作することを確認する。
SSLモジュールのインストール
$ cd ~/temp $ wget http://pypi.python.org/packages/source/s/ssl/ssl-1.15.tar.gz $ tar xvfz ssl-1.15.tar.gz $ cd ssl-1.15 $ make $ make install
easy_installのインストール
$ cd ~/temp $ wget http://peak.telecommunity.com/dist/ez_setup.py $ python ez_setup.py
PILのインストール
$ easy_install -UZ PIL
X Client側(Linux)に、接続時にgnome-terminalを起動するスクリプトを準備
$ vi ~/xming_terminal.sh
#! /bin/bash ibus-daemon -d -x source ~/.bash_profile export XMODIFIERS=@im=ibus gnome-terminal --geometry=132x43
ibus-daemonの起動でiBusを用いた日本語入力を可能にしているつもり。標準だと[半角/全角]キーで切替。
$ chmod +x ~/xming_terminal.sh
X Server(Windows側・Xming)を準備
Download Files List - Xming X Server for Windows - OSDNから、Xming-6-9-0-31-setup.exeとXming-fonts-7-5-0-34-setup.exeをダウンロードし、各々Windowsにインストールする。
その後「XLaunch」を起動し、上記で作成したスクリプト(xmiing_terminal.sh)を起動するようなランチャを作成する。
Select display settings ◎ Multiple windows Display number: 0
Select how to start Xming ◎ Start a program
Enter or choose one X client to Run Local or Run Remote Start program: $HOME/xming_terminal.sh Run Rmote ◎ Using PuTTY(plink.exe) Connect to computer: (LinuxのIPアドレスまたはHOST名) Login as user: gaego Password (leave blank if using PuTTy pageant):
Passwordは何も書かないようにする(ランチャ起動時にプロンプトが起動して確認される)。もしここに書いてしまうと、平文で保存されてしまうので要注意。
Specify parameter settings レ Clipboard Additional parameters for Xming: -dpi 96
-dpi 96はターミナルのフォントサイズを大きくする設定。標準(75dpi)が小さいと思ったら指定しておく。
Configuration complete [Save configuration]
[Save configuration]で任意の名前で設定ファイル(ランチャ)を保存しておく。次回からはこれをダブルクリックすることで、保存した設定でXmingが起動される。
ランチャ起動後、gnome-terminalを閉じたとしても、X Server(Xming)は自動では終了してくれないため、タスクトレイ上に残ったXmingを手動で→クリック→「Exit」して終了すること。
"Hello, world!"アプリの試行
http://code.google.com/intl/en/appengine/docs/go/gettingstarted/helloworld.htmlを参考に、app.yaml及びhello.goファイルを用意する。
今回の試行では、開発用のディレクトリ($HOME/go)を用意し、その下にmyappを置いて、
/home/gaego/go/myapp ├─app.yaml └─hello └─hello.go
のような感じにして試した。
後は、Windows上から、上記で作成したランチャによりgnome-terminalを起動し、
$ firefox & $ cd ~/go $ dev_appserver.py --port=8080 myapp
のようにして、Firefox(バックグラウンドで起動)およびdev_appserverを起動した後、Firefoxから
http://localhost:8080/
にアクセスしてやると、問題が無ければ、
Hello, world!
が表示される。
独り言
これが、入れるだけで満足してしまって(もしくは疲れてしまって)、後が続かない症候群かぁ……。