玄箱HGのDebian化
玄箱のDebian化が一番難解なステップですが、先駆者の方々のおかげで楽にインストールすることが出来るようになりました。 私が参考にした「玄箱うぉううぉう」さんと「Genbako Kerlel collection」さんのページですが、 ここではインストールに必要なデータがダウンロードできるようになっています。
ファイル操作:セットアッププログラムの構築
玄箱うぉううぉうのサイトにある(http://kuro.dsk.jp/)
http://kuro.dsk.jp/data/dist/debian_2006_06_10_dist.tgz をダウンロード
debian_2006_06_10_dist.tgz → tmpimage.tgz 名前変更
tmpimage.tgz → tmpimage.zip zipに圧縮
tmpimage.zip → image.zip 名前変更
玄人志向のサイトより玄箱HGセットアップデータ(新規セットアップ用ファームウェアVer1.01:26.5MB
http://www.kuroutoshikou.com/products/kuro-box/kurog101.zip)をダウンロード後解凍し、上記ファイルのimage.zipと入れ替える。
ファイル操作:セットアッププログラムの実行
上記作成した玄箱のインストールキット内にあるexeファイルを実行してインストールを完了させ
(インストール時にはWindowsのパーソナルファイアウォールはOFFにしておかないとキットがうまく動作しないことがあります)、
本体のボタンで再起動(長押し→電源落ちる→再ボタンで起動)してから次のステップへ移ります。
設定の途中で失敗してしまったら、手動でEMモードに落とす(#rm -rf / で全てのファイルを削除してEMモードに落とす)か、
HDDを取り外して別PCでフォーマットしてEMモードにしてからやり直して下さい。
コマンド:リモートアクセス
サーバにリモートアクセスするにはwindows標準のtelnetでもいいですが私はSSH接続も出来る「Poderosa」
を使用しています。
Linuxの設定を変更するには設定ファイルを直接編集します。そのためにはLinux特有のエディタを使いますが操作方法がかなり特殊なので
Windowsをメインに使っている人には第一の難問になると思います。簡単な使い方の説明は→こちらへ
インストール直後の玄箱のIPアドレスは「192.168.0.100」に設定されています。
今後はWindowsから遠隔操作によって玄箱の設定を行っていきます。
ユーザ名:tmp-kun、パスワード:tmp-kunでログインする
ログイン後、rootにユーザー変更する。パスワード:root
※rootになるとシステム上で全ての権限を持つことができます。
ファイル編集:/etc/apt/sources.list
sources.list内の文字を全て消して下記の内容に書き換える
Debianのsarge化(FTPの使えない環境だったらftpをhttpに変更する)
deb http://ftp.dti.ad.jp/pub/Linux/debian sarge main contrib
deb http://ftp.dti.ad.jp/pub/Linux/debian-non-US sarge/non-US main contrib
deb-src http://ftp.dti.ad.jp/pub/Linux/debian sarge main contrib
deb-src http://ftp.dti.ad.jp/pub/Linux/debian-non-US sarge/non-US main contrib
コマンド:アップグレード
# apt-get -u dist-upgrade
いろいろ聞かれるが、全てデフォルトでOK。ファイル置き換え警告はYes。ただし、eximの設定は「5」を選択する
# apt-get install patch
# apt-get install wget
# apt-get install gcc
# apt-get install ncurses-dev
# apt-get install bzip2
# apt-get install module-init-tools
各プログラムをインストールする
コマンド:kernelimageの設置
kernelimageを/boot/に展開する
# wget http://genbako.vodapone.com/kernelimage-2.6.18-kuroHG.tgz
# tar -zxvf kernelimage-2.6.18-kuroHG.tgz
コマンド:再起動と再ログイン
再起動
telnetにてログイン。ユーザ名:tmp-kun、パスワード:tmp-kunでログインする
ログイン後、rootにユーザー変更する。パスワード:root
うまく行っていればログイン時にカーネルのバージョンが2.6系になっているはずです
コマンド:モジュールの設置
/lib/modules/ディレクトリへ移動
モジュールをダウンロードして展開
# tar -zxvf modules-2.6.18-kuroHG.tgz
モジュールの依存性リストを作成
※カーネルの再構築の必要のない(ファイアウォール:iptablesが必要ない)人は以降のステップを飛ばして
「4.パスワード変更」から進めてください。
また、玄箱HGでUSBストレージが認識されない人は下記のSCSIに関する設定を行えば認識される可能性があります。
コマンド:kernelと修正ファイルのdownloadと設置
kernelと修正ファイルを/root/に展開・設置する
# wget http://mirror.crow2.net/www.genbako.com/old/kurobox-sources-2.6.16.patch
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2
# tar -jxpvf linux-2.6.16.tar.bz2
コマンド:kernelの修正パッチをあてる
カーネルに修正ファイルを適応させる
# patch -Np1 <../kurobox-sources-2.6.16.patch
コマンド:kernelの再構築
# export ARCH=ppc
# make menuconfig
iptableに関するnetwork関係をチェックする(チェック:スペース、決定:エンター、戻る:ESC)
Networking options ---> カテゴリ移動
Network packet filtering(replaces ipchains) ---> チェックしてカテゴリ移動
Network packet filtering debugging チェックを入れる
Core Netfilter Configuration カテゴリ下全てチェックする
IP:Netfilter Configuration カテゴリ下全てチェックする(全てチェックを入れたらもう一度Core Netfilter Configrationの項目の空白欄をチェックする)
以下はチェックが入っているか確認しておく(USBメモリ,USB-HDDを使えるようにするため)
SCSI device support ---> カテゴリ移動
<M> SCSI device support チェックを入れる
[ * ] legacy /proc/scsi/ support チェックを入れる
<M> SCSI disk support チェックを入れる
File systems ---> カテゴリ移動
Native Language Support カテゴリ移動
<*>Japanese charsets(Shift-JIS,EUC-JP) チェックを入れる
ESCで最初まで戻って「Do you wish to save your new kernel configuration?」の質問で「Yes」
# make vmlinux
↑50分くらいかかる
# cp System.map /boot/
# make modules
↑30分くらいかかる
カーネル再構築終了
コマンド:再起動と再ログイン
再起動
ユーザ名:tmp-kun、パスワード:tmp-kunでログインする
ログイン後、rootにユーザー変更する。パスワード:root
コマンド:後処理
構築に使用した不必要なファイルを削除する
# rm /lib/modules/modules-2.6.18-kuroHG.tgz
# rm /root/kurobox-sources-2.6.16.patch
# rm /root/linux-2.6.16.tar.bz2
デフォルトのパスワードを使用し続けるのは最もやってはいけない事なのですぐに変更します。 また、デフォルトでは設定できるパスワードの文字数が少ない場合がありますので変更しておきます (設定が「5文字」だと「rootpassword」というパスワードを設定しても「rootp」の5文字だけでログインできてしまいます。本人も案外気づきません)
ファイル編集:/etc/pam.d/passwd
※Debian Etchにアップグレードした場合は/etc/pam.d/common-passwordのファイルを編集します
(md5を追加)これでMD5を用いたパスワードになるので文字列が最大8文字以上になる(デフォルトのDESだと最大8文字
ファイル編集:/etc/login.defs
※Debian Etchにアップグレードした場合はこの項目は無視します
パスワードの最大文字数が40になる
コマンド:パスワード変更
コマンド入力後、rootの新パスワードを2回入力して変更する
リモートアクセスにはtelnetを使いましたが暗号化されていない通信でサーバとやり取りするのでセキュリティ上好ましくありません。 そこで暗号化しながら通信する「SSH」をインストールします
コマンド:SSHインストール
SSHのプログラムをインストール。質問はすべてデフォルトで答える
Install these packages without verification [y/N]? と聞かれたらyを入力
ファイル編集:/etc/ssh/sshd_config
PermitRootLogin no
上記設定をするといきなりのrootからログインができなくなります。つまり、はじめは別ユーザでログインしてから
$ su rootして「root」になるというワンクッションをはさむことになります(パスワードを2回入力する必要があるのでセキュリティが高まる)
注意が必要なのはこの設定をした後に少なくともユーザーアカウントが1つは必要だということです。
でないとSSHでログインできなくなります(この時点では最初から「tmp-kun」がユーザーとして登録されています)
SSHでの接続(例:tmp-kunとして接続する場合)
下記の方法は別のLinux環境(Knoppix等)からのアクセスする場合
コマンド:リモートアクセス
パスワードを聞かれるので「tmp-kun」とパスワードを入力する(別ユーザーでリモートログインするときは「tmp-kun」の部分を「別ユーザ名」にする)
SSHでのリモートログインのために新しいユーザーを作成します
コマンド:ユーザ追加
新規ユーザ追加。適当な名前を入力
追加したユーザのパスワード登録
ファイル編集:/etc/network/interfaces
address 192.168.0.200 ←この部分を変更すればOK
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
iface lo inet loopback
auto eth0 lo
上記の設定だと192.168.0.*のネットワーク内で固定IP「192.168.0.200」と設定しています
もしも固定IPではなくDHCPによる動的IPを習得する場合には下記の記述をします
iface lo inet loopback
auto eth0 lo
ファイル編集:/etc/hostname
例えば、上記の設定だとホスト名「Debian」で登録します
ファイル編集:/etc/hosts
192.168.0.200 Debian ←この部分を変更
上記の設定で192.168.0.200と「Debian」との関連付けをします
余計なアプリケーションを削除します。必要のないプログラムはセキュリティ上、好ましくありません。
telnetは何かと不正アクセスのツールとして使用されますので削除します (--purgeのオプションを付けると設定ファイルごと削除してくれます)
コマンド:アンインストール
(必ず再起動後に「SSH」で接続してから削除する)。でないともしもssh接続がうまくいかない状態でtelnetを削除してしまったら 玄箱を操作する方法が無くなってしまいます。
ユーザ名もパスワードもバレバレの「tmp-kun」アカウントは速攻で削除しましょう
コマンド:ユーザー削除
tmp-kunでログインしてからrootへ#suした場合は削除できないので#exitコマンドでtmp-kunでのログインを解除してから
新しく作成したユーザでログインしなおしましょう(その後で#suコマンドでrootにログインする)
tmp-kunユーザーを削除。tmp-kunさん、おつかれさまでした。
サーバを最新の状態に保つ為に、こまめに下記のコマンドを実行してアップデートしましょう
「update」でパッケージの更新情報をダウンロードし、「upgrade」で更新されているパッケージのアップグレードを行います。
コマンド:Debianアップデート
システム全体をアップデート
# apt-get upgrade
PHP5とMySQL5をapt-getでインストールしたかったのでSargeから次期バージョンのEtchへアップグレードさせました。
ファイル編集:/etc/apt/sources.list
sources.list内の文字を全て消して下記の内容に書き換える
Etchへのアップグレードに必要なsources.listはこちらのサイト
「オモイノホカ日々徒然」
を参考にさせていただきました。
deb http://ftp2.de.debian.org/pub/debian etch main contrib non-free
コマンド:アップグレード
# apt-get -u dist-upgrade
いろいろ聞かれるが、全てデフォルトでOK。ただしeximの設定は「5」を選択
ログインしたときにエラーメッセージが表示される場合は下記のファイルの文章をコメントアウトしておく
ファイル編集:/etc/login.defs
設定ファイル内にある下記の設定がしてある行の先頭に「#」を入力してコメントアウトさせる
#QUOTAS_ENAB
#NOLOGIN_STR
#ENV_HZ
#PASS_MAX_LEN
#CHFN_AUTH
#CLOSE_SESSIONS