トップページへ

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

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

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

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

 その他
リンク

sponsored link

【 更新履歴 】


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

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

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



ノーマル玄箱のDebian化


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


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

玄箱のDebian化が一番難解なステップですが、先駆者の方々のおかげで楽にインストールすることが出来るようになりました。 私が参考にした「玄箱うぉううぉう」さんのページですが、ここではインストールに必要なデータがダウンロードできるようになっています。

ファイル操作:セットアッププログラムの構築

玄箱うぉううぉうのサイトにある(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 名前変更

玄人志向のサイトより玄箱セットアップデータ(ファームウェアアップデート Ver1.02 (2004.04.20):20MB
http://www.kuroutoshikou.com/products/kuro-box/kuro_102.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から遠隔操作によって玄箱の設定を行っていきます。



# telnet 192.168.0.100

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


$ su root

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





3.カーネル再構築

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

/etc/apt/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 contribv
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 upgrade

いろいろ聞かれるが、全てデフォルトでOK

# apt-get -u dist-upgrade

いろいろ聞かれるが、全てデフォルトでOK。ただし、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の設置

/boot/に移動

# cd /boot/

カーネルイメージをダウンロードする

# wget http://www.genbako.com/kernelimage-2.6.20-kuroBOX.tgz

kernelimageを/boot/に展開する

# tar -zxvf kernelimage-2.6.20BOX-kuro.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://www.genbako.com/modules-2.6.20-kuroBOX.tgz
# tar -zxvf modules-2.6.20-kuroBOX.tgz

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

# depmod -a

再起動

# reboot




※カーネルの再構築の必要のない(ファイアウォール:iptablesが必要ない)人は以降のステップを飛ばして 「4.パスワード変更」から進めてください




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

kernelと修正ファイルをダウンロードして/root/に展開する

# cd /root
# wget http://www.genbako.com/kurobox-sources-2.6.20.patch
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2
# tar -jxpvf linux-2.6.20.tar.bz2

コマンド:kernelの修正パッチ

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

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

コマンド:kernelの再構築

# cp config_kurobox .config
# export ARCH=ppc

# make menuconfig

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

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

ESCで最初まで戻って「Do you wish to save your new kernel configuration?」の質問で「Yes」


# make oldconfig
# make vmlinux

↑90分くらいかかる


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

↑60分くらいかかる


# make modules_install

カーネル再構築終了


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

再起動

# reboot

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

# telnet 192.168.0.100

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

$ su root

コマンド:後処理

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

# rm /boot/kernelimage-2.6.20-kuroBOX.tgz
# rm /lib/modules/modules-2.6.20-kuroBOX.tgz
# rm /root/kurobox-sources-2.6.20.patch
# rm /root/linux-2.6.20.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インストール

# apt-get install ssh

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


ファイル編集:/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