April 29, 2005

coLinux でウェブアプリケーション開発環境構築

[ Linux & UNIX ]

遅ればせながらCatalystで遊んでみようかなと思ったのだけど、Hack用のサーバーどうしようかなと小一時間。今までは自宅サーバーやホスティングで借りてるサーバーに SSH でアクセスして Meadow の ange-ftp とか tramp で Hack してたのですが、なんか色々サービスも動いているし、あんまりそこで開発したくないなあと思ったところ、blog.bulknews.netで colinux がほげほげなんてことが書いてありました。

これはいいと思い、早速ノートPCに導入。

colinu.gif

coLinux は Windows の中で動く Linux なんですが、coLinux そのものはディストリビューションではなく、Windows などの OS の上で、その OS と協調して動作する Linux カーネルです。なので、coLinux を使って Linux 環境を PC に作るにあたっては、ディストリビューションを選択することができます。Fedora Core、Debian、Gentoo なんかがサポートされてます。(他のものでもイメージを作れば動くんでしょう。) 僕は Debian を選択。

インストール方法は blog.bulknews.net でも紹介されていたcoLinuxのメモ - coLinuxのインストールが詳しいです。

coLinux インストール時に TAP-WIN32 とかいう仮想ドライバがインストールされるのですが、これが素晴らしい働きをしてくれます。

ネットワーク接続の方法はいろいろあるのですが、その一つの方法でこの仮想ドライバによってWindows 側にインタフェースを追加しそれを NAT にすることができます。つまり、Windows に、既存のネットワークインタフェースに加えてもう一本足ができて片足をインターネットに、片足を coLinux 側に突っ込んだ環境が構築できると。

coLinux からは TAP-WIN32インタフェース経由でインターネットに接続できるし、Windows から coLinux へも直接アクセスできる。一方外部のホストからは coLinux にはアクセスできないので、ちょうどファイアウォールの内側にあるような状態になり、開発機にはもってこいの環境が構築できます。

ここに Apache、mod_perl、MySQL なんかを放り込んで Perl モジュールも入れて Catalyst が使える状態になりました。楽しいなあ。ノートPCを畳んでスリープモードにして、そこから立ち上げてもちゃんと Linux が動いててすぐ開発に入れるっていうのはかなり感動です。Windows内部にウェブアプリケーション開発環境を持つ、というのを Cygwin でがんばろうと思ったけど mod_perl やなんやが動かなくて諦めてたんですが、coLinux で実現できた感じです。サンキュー miyagawa 氏。

以下、メモっておきます。

  • 最新版の0.6.2はインストーラーによるウィザードで Debian と Gentoo のイメージをダウンロードしてくれる
  • colinux-daemon.exe を動かすときに、0.6.2はデフォルトの設定ファイルを読みにいってくれない様子。ヘルプには colinux.default.xml を読み取るとあるのだけど、明示的に -c [設定ファイル] オプション付き DOS 窓から起動してやらないと上がらなかった。
  • coLinux とは直接関係ないですが、NAT以外にもWindows XP のブリッジ接続で TAP-Win32 なデバイスとワイヤレスデバイスをブリッジも可能なんだけど、これがなんか気持ち悪いことに。接続はできるんだけど、ワイヤレスLAN周りのアプリケーションのステータスが切断状態になったりとか。あと、ブリッジ接続にすれば外部LAN側の dhcp で coLinux に IP が割り当てられるし、外部LANからもアクセスできるようになるので便利なのですが、dhcp で Mac アドレスによる固定IP配布をしてると Windows と coLinux でバッティングしてしまいます。結局 coLinux 側の dhcp を諦めるとなると、ノートPCをあっちでこっちで使う場合には向いてない、ということで NAT。
  • Debianイメージをmountした初期状態では vi すら入ってない(笑) editorコマンドを使ってなぞのエディタでネットワーク設定をいじったりとか。とりあえず apt で SSH を入れてターミナル(僕はPoderosa) からアクセスして、そこから vim を入れる。あとは taskesl で C、C++ の開発環境を入れて、そっからは必要に応じてライブラリを追加していきました。expat とか libxml2 とか ncursesl とか入れたかな。
  • coLinux側で Samba を立ち上げて、Windows側から mount してやり Meadow で開発、なんてことをしています。できあがったソースは cvs でインターネット上においてある僕のホストに commit す。

より以前のエントリ

組み込み型全文検索エンジン Senna 03/28/05 | コメント (1) | トラックバック (3)
Solaris 10 for x86 02/20/05 | コメント (0) | トラックバック (3)
MySQL の MERGE テーブルで巨大なテーブルを効率的に運用する 01/29/05 | コメント (0) | トラックバック (1)
VaraTerm がオープンソースに 01/28/05 | コメント (3) | トラックバック (5)
Apache 2.2 new features 12/07/04 | コメント (0) | トラックバック (2)
Meadow + gnuserv + ieviewsource.vbs で IE のソースを表示 10/14/04 | コメント (1) | トラックバック (0)
With great power comes great responsibility 07/30/04 | コメント (4) | トラックバック (0)
PostgreSQL シーラカンス本改訂版、いいです。 07/01/04 | コメント (0) | トラックバック (2)
プロジェクト百式 - サーバーを救え 06/30/04 | コメント (0) | トラックバック (1)
mod_auth_form - Apache 側で HTML フォーム認証 06/29/04 | コメント (0) | トラックバック (0)
mod_log_sql でアクセスログを MySQL に書き込む 04/20/04 | コメント (0) | トラックバック (0)
メモリ不足でプロセスが削除される 04/17/04 | コメント (0) | トラックバック (16)
Pound やめ。mod_rewrite + mod_rewrite で reverse proxy。 03/13/04 | コメント (0) | トラックバック (3)
xkeymacs を使って Windows でも Emacs キーバインド 02/28/04 | コメント (1) | トラックバック (2)
mod_rpaf でアドレス変換 02/25/04 | コメント (2) | トラックバック (0)
リバースプロキシ Pound を導入しました。 02/24/04 | コメント (3) | トラックバック (5)
Linux Kernel 2.6 リリース 12/19/03 | コメント (1) | トラックバック (0)
ビジネスの世界では Apache ではなく IIS 11/28/03 | コメント (4) | トラックバック (0)
IMAP対応Webメール SquirrelMail 11/16/03 | コメント (2) | トラックバック (2)
タブ式ターミナルエミュレータ Guevara、いいです 11/11/03 | コメント (3) | トラックバック (2)
Red Hat Linux 方針転換 - Red Hat Linux は Fedora Project へ 11/05/03 | コメント (0) | トラックバック (3)
福本伸行フィルタを作った同級生 11/04/03 | コメント (2) | トラックバック (0)
富豪でいることしか知らないプログラマ 08/13/03 | コメント (0) | トラックバック (1)
「LindowsOS 4.0日本語版」が8/29に発売 07/23/03 | コメント (0) | トラックバック (0)
Apache 1.3.28 がリリース。アップデートしました。 07/20/03 | コメント (0) | トラックバック (0)
最高のデスクトップ用UNIX系OS としての MacOSX 07/04/03 | コメント (6) | トラックバック (1)
kernel 2.4.21 リリース 06/15/03 | コメント (0) | トラックバック (0)
ATOK16 for Linux 05/15/03 | コメント (0) | トラックバック (0)