以前はWindows+Apache+Mysql+PHP,Perlの所謂WAMP環境で開発を行っていたのですが、実際の運用環境がLinuxであることなどもあり、現在はより運用環境に近いcoLinuxを使用しています。
とりあえず、インストールしたときのメモを置いておきます。
coLinuxのインストール
とりあえず本体がないと何も始まらないので、ダウンロードサイトからWindows用のインストーラ(coLinux-0.6.4.exe)をダウンロードしてインストールします。
※インストールに関してはウィザードになっているので注意点のみ。
1.インストールするコンポーネントの選択
通信のドライバとしてTAPとWinPcapが選択できますが、今回は速度が割と速いということで「TAP」を選択します。あと「Root Filesystem Image Download」もチェックを入れておきます。
2.Root Filesystem Imageのダウンロード
ディストリビューションは使い慣れている「Debian」を選択し、Locationは「Asia」を選択します。
このあと「Install」をクリックするとイメージファイルのダウンロードが始まります。※環境によっては多少時間がかかります。
coLinux動作環境の設定
本体のインストールが完了してもこのままでは使い物になりませんので動作環境の設定を行います。
1.イメージファイルのコピー&作成
今回はインストールフォルダとは別に「D:\coLinux」に各イメージファイルを保存するようにします。
まず上記フォルダを作成し、その中にインストール時にダウンロードしたRootFilesystemImage(C:\Program files\coLinux\Debian-3.0r2.ext3-mit-backports.1gb.bz2)を「root.1gb」としてコピーします。このファイルが「/(ルート)」パーティションになります。
次にスワップ用にイメージファイルを用意する必要がありますので、コマンドプロンプトを開き以下のコマンドを実行します。
C:\> fsutil file createnew D:\coLinux\swap.256mb 268435456
上記コマンドで、256MBのスワップパーティション用のイメージファイルが用意できました。
他にも必要に応じて各パーティション用にイメージファイルを作成しておきます。(無くても特に問題はありませんが)
C:\> fsutil file createnew D:\coLinux\usr.1gb 1073741824
C:\> fsutil file createnew D:\coLinux\opt.1gb 1073741824
C:\> fsutil file createnew D:\coLinux\home.1gb 1073741824
今回は「/usr」と「/opt」と「/home」を作成しました。
2.設定ファイルの作成
インストールフォルダに設定ファイルの雛形「default.colinux.xml」がありますので、それを同フォルダに「debian.colinux.xml」コピーします。
コピーした設定ファイルを以下のように編集します。
debian.colinux.xml
<?xml version="1.0" encoding="UTF-8"?>
<colinux>
<block_device index="0" path="\DosDevices\d:\coLinux\root.1gb" enabled="true" />
<block_device index="1" path="\DosDevices\d:\coLinux\swap.256mb" enabled="true" />
<block_device index="2" path="\DosDevices\d:\coLinux\usr.1gb" enabled="true" />
<block_device index="3" path="\DosDevices\d:\coLinux\opt.1gb" enabled="true" />
<block_device index="4" path="\DosDevices\d:\coLinux\home.1gb" enabled="true" />
<bootparams>root=/dev/cobd0</bootparams>
<initrd path="initrd.gz" />
<image path="vmlinux" />
<memory size="128" />
<network index="0" type="tap" name="TAP" />
</colinux>
「<block_device~」はcoLinuxにデバイスとして認識させるイメージファイルの設定です。上記設定で「D:\coLinux\root.1gb」は「/dev/cobd0」として「D:\coLinux\swap.256mb」は「/dev/cobd1」として認識させることができます。
「<memory size="128">」はcoLinuxに割り当てる物理メモリを指定します。この設定では128MBが割り当てられます。
「<network~」はcoLinuxにネットワークデバイスを割り当てる設定です。上記設定では「tap」デバイスを「eth0」として割り当てます。Windows上でのネットワークの設定は後述します。
3.ショートカットの作成
設定が完了したら、起動用のショートカットを作成しておきます。
起動用ショートカット
"C:\Program files\coLinux\colinux-daemon.exe" -t nt -c debian.colinux.xml
サービス化用ショートカット
"C:\Program files\coLinux\colinux-daemon.exe" -c debian.colinux.xml --install-service
4.TAPの設定
「コントロールパネル→ネットワーク接続」を開き、インストール後に追加された「TAP-Win32 Adapter V8(coLinux)」の名前(ローカルエリア接続*)を「TAP」に変更しておく。
また、利用中のネットワークを経由してネットワークの利用ができるように「インターネット接続の共有」を有効にしておきます。(設定はプロパティの「詳細設定」から)
接続の共有を有効にすると、TAPのIP設定は自動的に以下のように変更されます。
IPアドレス:192.168.0.1
サブネットマスク:255.255.255.0
この設定によりTAPは、利用中のネットワークを経由してインターネット等への接続ができるようになります。またcoLinuxへはこのTAPをゲートウェイとして接続を行うようになります。イメージは以下のような感じです。
インターネット
|
┌──────────┐ ┌──────────┐
|利用中のネットワーク|⇔|仮想ネットワーク:TAP|
└──────────┘ └──────────┘
| |
┌──────────┐ ┌──────────┐
| Windows環境 | | coLinux環境 |
└──────────┘ └──────────┘
coLinuxの設定
環境の設定が完了したら、いよいよcoLinuxを起動してLinux上で設定を行います。
前の手順で作成した「起動用ショートカット」を実行しコンソールを表示させます。設定が正しければcoLinuxのブートが始まり見慣れたログインプロンプトが表示されますので、rootユーザでログインを行います(パスワードは無し)。
1.ネットワーク設定
何より先にネットワークの設定を行います。
使い慣れたviやemacsは初期状態ではインストールされていませんのでeditorコマンドを使用して「/etc/network/interfaces」を以下のように変更します。
# editor /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1
同じく「/etc/hosts」を以下のように変更します。
# editor /etc/hosts
127.0.0.1 localhost
192.168.0.2 colinux
また、「/etc/resolv.conf」にはDNSサーバのアドレスを登録しておきます。
# editor /etc/resolv.conf
nameserver XX.XX.XX.XX
以上でネットワークの設定は完了です。最後に以下コマンドでネットワークを再起動させます。
# ifdown -a
# ifup -a
一応確認のためWindowsに向けてPingテストをしておきます。
# ping 192.168.1.XX
PING 192.168.1.XX (192.168.1.XX): 56 data bytes
64 bytes from 192.168.1.XX: icmp_seq=0 ttl=63 time=4.3 ms
64 bytes from 192.168.1.XX: icmp_seq=1 ttl=63 time=1.6 ms
..略
2.パーティションの設定
現在はルートパーティションのみ利用できる状態になっています。
このままでも動作自体は可能ですが、後々のことも考えてswap領域やその他のパーティションを作成しておくことにします。今回は「swap」「/usr」「/opt」「/home」を新しく追加します。(※パーティションを作成するには領域を確保するためイメージファイルを準備し、coLinuxの設定ファイルにデバイスとして登録しておく必要があります。)
; スワップ領域の作成&マウント
# mkswap /dev/cobd1
# swapon /dev/cobd1
; 各パーティションのファイルシステムを作成
# mkfs.etx3 /dev/cobd2
# mkfs.etx3 /dev/cobd3
# mkfs.etx3 /dev/cobd4
; 一時的なマウントポイントの作成
# mkdir /mnt/usr /mnt/opt /mnt/home
; デバイスをマウントする
# mount -t ext3 /dev/cobd2 /mnt/usr
# mount -t ext3 /dev/cobd3 /mnt/opt
# mount -t ext3 /dev/cobd4 /mnt/home
; 既存ファイルをコピーする
# cp -a /usr/* /mnt/usr/
# cp -a /opt/* /mnt/opt/
# cp -a /home/* /mnt/home/
; /etc/fstabに追記
# editor /etc/fstab
/dev/cobd1 none swap defaults 0 0
/dev/cobd2 /usr ext3 defaults 1 2
/dev/cobd3 /opt ext3 defaults 1 2
/dev/cobd4 /home ext3 defaults 1 2
; 既存ファイルの削除&再起動
# rm -rf /usr/* /opt/* /home/* ; shutdown -r now
再起動後、「df -k」で正常にマウントされていることを確認する。
3.パッケージのアップグレード&インストール
既存パッケージのアップグレードと必要なパッケージのインストールを行う。
; アップグレード
# apt-get update
# apt-get dist-upgrade
; 基本的なパッケージのインストール
# apt-get install ssh sudo
※ssh&sudoインストール後は、Windowsからteraterm等で接続して作業を行う。
4.日本語環境の設定
デフォルトの状態では日本語環境やキーボードレイアウトなどで不都合があるので以下のコマンドで改善しておく。
; キーボードレイアウトの設定
# dpkg-reconfigure console-data
Select keymap from arch list
qwerty, Japanese, Standard
; タイムゾーンの設定
# tzconfig
Nuber: 5
Name: [] Tokyo
; ロケールの設定
# dpkg-reconfigure locales
~
[*] en_US ISO-8859-1
[*] en_US.ISO-8859-15 ISO-8859-15
[*] en_US.UTF-8 UTF-8
~
[*] ja_JP.EUC-JP EUC-JP
[*] ja_JP.UTF-8 UTF-8 ←Default locale
以上でとりあえず問題なく動作する環境が出来上がりました。
あとは、samba入れてwindowsからドライブマウントしてゴニョゴニョしたり、LAMP環境作って○○したりするのですが、それについてはまた暇なときに書きます。多分。