トップページへ

 セットアップ
Debian化
カーネル再構築
Debian化仕上げ
HDDの初期化
フローチャート

 サーバ構築
ルータの設定
無料ドメイン収得
Webサーバ
メールサーバ
FTPサーバ
ファイルサーバ
プリンタサーバ
DNSサーバ
データベースサーバ

 運 用
基本的なコマンド
テキストエディタ
シェルスクリプト
運用に必要な物
ファイアウォール
ログの管理
バックアップ
データ復旧
VMware

 監 視
Webアクセス解析
システム監視
ログ解析
不正アクセス監視

 その他
リンク

sponsored link

【 更新履歴 】


2009年7月25日
 サイトデザインを一新

2009年3月31日
 Debian化仕上のページを更新

2008年09月15日
 新サイト開設



玄箱HGのDebian化


このページでは玄箱HGタイプのセットアップ方法を記載します。HGの玄箱と内部システムが違うらしく、HGと同じセットアップ方法だとうまくいきません。


1.インストールキットの作成

玄箱の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モードにしてからやり直して下さい。


私はかなりここでつまづきましたが、調べたところセットアッププログラムのimage.zipは50Mくらいまでに抑えておかないと セットアップに失敗して玄箱の初期化を行わなければならなくなります。




2.リモートログイン

コマンド:リモートアクセス

サーバにリモートアクセスするにはwindows標準のtelnetでもいいですが私はSSH接続も出来る「Poderosa」 を使用しています。
 Linuxの設定を変更するには設定ファイルを直接編集します。そのためにはLinux特有のエディタを使いますが操作方法がかなり特殊なので Windowsをメインに使っている人には第一の難問になると思います。簡単な使い方の説明は→こちらへ
 インストール直後の玄箱のIPアドレスは「192.168.0.100」に設定されています。 今後はWindowsから遠隔操作によって玄箱の設定を行っていきます。




ユーザ名:tmp-kun、パスワード:tmp-kunでログインする

# telnet 192.168.0.100

ログイン後、rootにユーザー変更する。パスワード:root
※rootになるとシステム上で全ての権限を持つことができます。

$ su root




3.カーネル再構築

ファイル編集:/etc/apt/sources.list

sources.list内の文字を全て消して下記の内容に書き換える
Debianのsarge化(FTPの使えない環境だったらftpをhttpに変更する)

deb http://security.debian.org sarge/updates main contrib
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 update
# apt-get -u dist-upgrade

いろいろ聞かれるが、全てデフォルトでOK。ファイル置き換え警告はYes。ただし、eximの設定は「5」を選択する

# apt-get install less
# 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/に展開する

# cd /boot/
# wget http://genbako.vodapone.com/kernelimage-2.6.18-kuroHG.tgz
# tar -zxvf kernelimage-2.6.18-kuroHG.tgz

コマンド:再起動と再ログイン

再起動

# reboot

telnetにてログイン。ユーザ名:tmp-kun、パスワード:tmp-kunでログインする

# telnet 192.168.0.100

ログイン後、rootにユーザー変更する。パスワード:root
うまく行っていればログイン時にカーネルのバージョンが2.6系になっているはずです

$ su root

コマンド:モジュールの設置

/lib/modules/ディレクトリへ移動

# cd /lib/modules

モジュールをダウンロードして展開

# wget http://genbako.vodapone.com/modules-2.6.18-kuroHG.tgzv
# tar -zxvf modules-2.6.18-kuroHG.tgz

モジュールの依存性リストを作成

# depmod -a




※カーネルの再構築の必要のない(ファイアウォール:iptablesが必要ない)人は以降のステップを飛ばして 「4.パスワード変更」から進めてください。
また、玄箱HGでUSBストレージが認識されない人は下記のSCSIに関する設定を行えば認識される可能性があります。




コマンド:kernelと修正ファイルのdownloadと設置

kernelと修正ファイルを/root/に展開・設置する

# cd /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の修正パッチをあてる

カーネルに修正ファイルを適応させる

# cd linux-2.6.16
# patch -Np1 <../kurobox-sources-2.6.16.patch

コマンド:kernelの再構築

# cp config_kuroboxhg .config
# export ARCH=ppc

# make menuconfig

iptableに関するnetwork関係をチェックする(チェック:スペース、決定:エンター、戻る:ESC)

 Networking ---> カテゴリ移動
  Networking options ---> カテゴリ移動
   Network packet filtering(replaces ipchains) ---> チェックしてカテゴリ移動
    Network packet filtering debugging チェックを入れる
    Core Netfilter Configuration カテゴリ下全てチェックする
    IP:Netfilter Configuration カテゴリ下全てチェックする(全てチェックを入れたらもう一度Core Netfilter Configrationの項目の空白欄をチェックする)

以下はチェックが入っているか確認しておく(USBメモリ,USB-HDDを使えるようにするため)

Device Drivers ---> カテゴリ移動
 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 oldconfig
# make vmlinux

↑50分くらいかかる


# objcopy -O binary vmlinux /boot/vmlinux.bin
# cp System.map /boot/
# make modules

↑30分くらいかかる


# make modules_install

カーネル再構築終了


コマンド:再起動と再ログイン

再起動

# reboot

ユーザ名:tmp-kun、パスワード:tmp-kunでログインする

# telnet 192.168.0.100

ログイン後、rootにユーザー変更する。パスワード:root

$ su root


コマンド:後処理

構築に使用した不必要なファイルを削除する

# rm /boot/kernelimage-2.6.18-kuroHG.tgz
# 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

ここまででセットアップとカーネルの再構築は終了です。iptableも使用できるようになり、ファイアウォールの設定も可能になります。




4.パスワード変更


デフォルトのパスワードを使用し続けるのは最もやってはいけない事なのですぐに変更します。 また、デフォルトでは設定できるパスワードの文字数が少ない場合がありますので変更しておきます (設定が「5文字」だと「rootpassword」というパスワードを設定しても「rootp」の5文字だけでログインできてしまいます。本人も案外気づきません)

ファイル編集:/etc/pam.d/passwd

※Debian Etchにアップグレードした場合は/etc/pam.d/common-passwordのファイルを編集します

password required pam_unix.so nullok obscure min=4 max=8 md5

(md5を追加)これでMD5を用いたパスワードになるので文字列が最大8文字以上になる(デフォルトのDESだと最大8文字


ファイル編集:/etc/login.defs

※Debian Etchにアップグレードした場合はこの項目は無視します

PASS_MAX_LEN 40

パスワードの最大文字数が40になる


コマンド:パスワード変更

# passwd root

コマンド入力後、rootの新パスワードを2回入力して変更する





5.sshでリモートログイン

リモートアクセスにはtelnetを使いましたが暗号化されていない通信でサーバとやり取りするのでセキュリティ上好ましくありません。 そこで暗号化しながら通信する「SSH」をインストールします

コマンド:SSHインストール

SSHのプログラムをインストール。質問はすべてデフォルトで答える
Install these packages without verification [y/N]? と聞かれたらyを入力

# apt-get install ssh

ファイル編集:/etc/ssh/sshd_config

PasswordAuthentication yes
PermitRootLogin no

上記設定をするといきなりのrootからログインができなくなります。つまり、はじめは別ユーザでログインしてから $ su rootして「root」になるというワンクッションをはさむことになります(パスワードを2回入力する必要があるのでセキュリティが高まる)
注意が必要なのはこの設定をした後に少なくともユーザーアカウントが1つは必要だということです。 でないとSSHでログインできなくなります(この時点では最初から「tmp-kun」がユーザーとして登録されています)


※再起動後のリモートアクセスはTelnetよりもSSHで行ったほうがセキュリティが高いです。Windowsには標準で Telnetしかインストールされていませんので冒頭で紹介した「Poderosa」などを使用してください。
SSHでの接続(例:tmp-kunとして接続する場合)

下記の方法は別のLinux環境(Knoppix等)からのアクセスする場合

コマンド:リモートアクセス

# ssh 192.168.0.100 -l tmp-kun

パスワードを聞かれるので「tmp-kun」とパスワードを入力する(別ユーザーでリモートログインするときは「tmp-kun」の部分を「別ユーザ名」にする)





6.各種設定

SSHでのリモートログインのために新しいユーザーを作成します

コマンド:ユーザ追加

新規ユーザ追加。適当な名前を入力

# useradd "ユーザー名"

追加したユーザのパスワード登録

# passwd "ユーザ名"

ネットワーク上でのサーバのIPアドレスを変更します。デフォルトの192.168.0.100のままでもかまいませんが他のPCや玄箱と重複しないようにしましょう。

ファイル編集:/etc/network/interfaces

iface eth0 inet static
 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 eth0 inet dhcp

iface lo inet loopback
auto eth0 lo

ネットワーク上でのサーバのホスト名を変更します。デフォルトの「KURO-BOX」ままでもかまいませんが他の玄箱と重複しないようにしましょう。

ファイル編集:/etc/hostname

Debian

例えば、上記の設定だとホスト名「Debian」で登録します


ファイル編集:/etc/hosts

127.0.0.1 localhost
192.168.0.200 Debian ←この部分を変更

上記の設定で192.168.0.200と「Debian」との関連付けをします



余計なアプリケーションを削除します。必要のないプログラムはセキュリティ上、好ましくありません。
telnetは何かと不正アクセスのツールとして使用されますので削除します (--purgeのオプションを付けると設定ファイルごと削除してくれます)

コマンド:アンインストール

(必ず再起動後に「SSH」で接続してから削除する)。でないともしもssh接続がうまくいかない状態でtelnetを削除してしまったら 玄箱を操作する方法が無くなってしまいます。

# apt-get remove --purge telnetd


ユーザ名もパスワードもバレバレの「tmp-kun」アカウントは速攻で削除しましょう

コマンド:ユーザー削除

# userdel tmp-kun

tmp-kunでログインしてからrootへ#suした場合は削除できないので#exitコマンドでtmp-kunでのログインを解除してから 新しく作成したユーザでログインしなおしましょう(その後で#suコマンドでrootにログインする)
tmp-kunユーザーを削除。tmp-kunさん、おつかれさまでした。



サーバを最新の状態に保つ為に、こまめに下記のコマンドを実行してアップデートしましょう
「update」でパッケージの更新情報をダウンロードし、「upgrade」で更新されているパッケージのアップグレードを行います。

コマンド:Debianアップデート

システム全体をアップデート

# apt-get update
# apt-get upgrade




7.Debian Etchへアップグレード(2008.01.12更新)

PHP5とMySQL5をapt-getでインストールしたかったのでSargeから次期バージョンのEtchへアップグレードさせました。

ファイル編集:/etc/apt/sources.list

sources.list内の文字を全て消して下記の内容に書き換える
Etchへのアップグレードに必要なsources.listはこちらのサイト 「オモイノホカ日々徒然」 を参考にさせていただきました。

deb http://security.debian.org etch/updates main contrib non-free
deb http://ftp2.de.debian.org/pub/debian etch main contrib non-free

コマンド:アップグレード

# apt-get update
# apt-get -u dist-upgrade

いろいろ聞かれるが、全てデフォルトでOK。ただしeximの設定は「5」を選択



ログインしたときにエラーメッセージが表示される場合は下記のファイルの文章をコメントアウトしておく

ファイル編集:/etc/login.defs

設定ファイル内にある下記の設定がしてある行の先頭に「#」を入力してコメントアウトさせる

#FAIL_DELAY
#QUOTAS_ENAB
#NOLOGIN_STR
#ENV_HZ
#PASS_MAX_LEN
#CHFN_AUTH
#CLOSE_SESSIONS