山本ワールド
玄箱HGのOS入れ替え(Debian Sarge)
1st 2008/9/21
概要
玄箱のOS Monta VistaをDebian Sargeに入れ替えることとした。なお、Windowsとのファイル共有およびwebサーバーとして機能できるように、SAMBA,THTTPD,Perl(CGIの実行に使用)のインストールを行う。文中の赤字が入力内容、青字はファイル内容である。今回のホームページの修正は、停電でハードディスクに障害が出たため、再インストール及び時点修正等を追記したものである。
必要条件
パソコン1台(インターネットに接続できること。) LANポートが2個あると便利。ポートの1個をEMモード用にしておく。
HDDの初期化と領域確保
玄箱付属のCDのKuroBoxSetup.exeでハードディスクの初期化を行う。この際、パソコン側のIPは19.168.11.100などにしておく。ウィルス検出ソフト及びWindowsのファイアーウォールを切っておく。LANケーブルはパソコンと玄箱とで直結にしておけば安心である。認識しない場合は次の項目に従いハードディスクを初期化する。
玄箱のHDDをWindowsパソコンなどで初期化する。
USB-IDEケーブルか、マザーボードのIDEに玄箱のHDDを接続し初期化する。
EMモードで起動
EMモードとは、玄箱のROMに収めれているLinuxである。この状態で、TelnetとFTPが使える。
玄箱HDDを玄箱に接続し電源をいれると、EMモードで起動する。
Telnetで玄箱にログイン
EMモードでのIPアドレスはDHCPを使わないとき192.168.11.150となるので、パソコンのIPを192.168.11.100などに設定する。あまっているLANポートがあればEMモード専用に使える。
コマンドプロンプトを開き下記のコマンドを実行する。
telnet 192.168.11.150
ユーザー名は root パスワードは kuroadmin である。
ハードディスクの初期化
下記のコマンドを実行し、初期化と領域確保を行う。
/sbin/mfdisk -e /dev/hda
sh /sbin/mkfilesystem.sh
この時点で hda1が/mntにhda3が/mnt2 にマウントされています。
玄箱うぉううぉう♪ からDebian 3.0(woody) をダウンロード
ウェーブブラウザー http://kuro.dsk.jp/ を閲覧。
debian_2006_06_10_dist.tgz 36.9MBをダウンロードする。
玄箱に転送
cd /mnt2
コマンドプロンプトをもう1個開く
ftp 192.168.11.150
root
kuroadmin
cd /mnt2
binary
put c:\debian_2006_06_10_dist.tgz
bye
exit
ダウンロードファイルを展開
ダウンローとファイルを展開し、通常モードで玄箱を起動する。
cd /mnt
tar zxvf /mnt2/debian_2006_06_10_dist.tgz
echo OKOK > /dev/fl3
reboot
Debian woodyのネットワーク設定
起動時のDebianのIPは192.168.0.100になっているので、パソコン側は192.168.0.10などにする。直接rootでログインできないので、あらかじめ設定されているユーザー名でログインしrootに移行する。もしEMモードで立ち上がってしまった場合は、最初からやり直す。
telnet 192.168.0.100
tmp-kun
tmp-kun
su -
root
決まったユーザ名やパスワードではセキュリティ上まずいので、rootのパスワード変更とユーザ名(ここではgoodとした)作成、tmp-kunの削除を行う。
***はパスワードなので、適宜に設定していただきたい。
rootパスワードの変更
passwd
***
***
新ユーザの作成
adduser good
***
***
tmp-kunの削除
deluser tmp-kun
グループを作成する場合
groupadd 新グループ名
useradd -g 新グループ名 ユーザー名
Debianのディフォルトでは、IP 192.168.0.100 ディフォルトゲートウェイが192.168.0.1になっているので、例えばIP
192.168.0.5 ディフォルトゲートウェイ192.168.0.2 に変更する。
cd /etc/network
IPアドレスを設定している1個目のファイルは /etc/network/interfacesである。下記にその内容を示す。
# Used by ifup(8) and ifdown(8). See the interfaces(5)
manpage or
# /usr/share/doc/ifupdown/examples for more information.
iface eth0 inet static
address 192.168.0.100
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
この状態でFTPが使えるのでFTP経由でWindowsパソコンに設定ファイルを転送し、メモ帳で修正し、FTPで書き込む方法があるが、内容が軽微なのでsedを使って、ファイル内の文字列の置き換えで対処する。
sed -e "s/address 192.168.0.100/address 192.168.0.5/g"
interfaces > in
sed -e "s/gateway 192.168.0.1/gateway 192.168.0.2/g" in > in2
cp in2 interfaces
rm in
rm in2
cd /etc
IPアドレスを設定している2個目のファイルは /etc/hostsである。下記にその内容を示す。
KURO-BOXの左側が玄箱のIPアドレスである。
127.0.0.1 localhost
192.168.0.100 KURO-BOX
sed -e "s/192.168.0.100/192.168.0.5/g" hosts > h1
cp h1 hosts
rm h1
IPアドレスを設定している3個目のファイルは /etc/resolv.confである。下記にその内容を示す。
nameseverがディフォルトゲートウェイを示す。
search
nameserver 192.168.0.1
修正し、rebootコマンドで再起動する。
sed -e "s/193.168.0.1/192.168.0.2/g" resolv.conf > r
cp r resolv.conf
rm r
reboot
Debianのバージョンアップ(3.0:woody から 3.1:sarge)
DebianのバージョンアップのサイトのURLが変わっているため修正が必要となる。
telnet 192.168.0.5
cd /etc/apt
mv sources.list sources.org
echo "deb http://ftp.riken.jp/Linux/debian/debian-archive sarge main contrib" >
sources.list
apt-get update
apt-get dist-upgrade
reboot
時刻の修正を自動に行うためNTPをインストール
Debian化によりほとんどのインストールが apt-get install で済んでしまう。
telnet 192.168.0.5
cd /etc
apt-get install ntp ntpdate ntp-doc ntp-simple
Y
sed -e "s/server 127.127.1.0/server clock.nc.fukuoka-u.ac.jp/g" ntp.conf > n
sed -e "/127.127.1.0/i ####" > ntp.conf
rm n
/etc/init.d/ntp-server restart
30分以上経過してから ntpq -p
SAMBAのインストール
SAMBAとはLinux上のファイルをWindowsで閲覧するためのソフトである。
SWATはウェーブブラウザ上からSAMBAの設定を行うソフトであるが、インストールのみで使わない。
インストール
apt-get install samba smba-client
atp-get install swat
cd /etc
sed -e "s/#<off># swat/swat/g" inetd.conf > in
cp in inetd.conf
rm in
/etc/init.d/inetd restart
SAMBAユーザーの設定
LinuxのユーザとSAMBAのユーザは別物となっている。よってSAMBAのユーザを設定する。設定するユーザはWindowsと同一である必要がある。ここでは、GOODという名前としてみた。
smbpasswd -a GOOD
SAMBAを稼動させるには、許可するユーザー名、共有名、Windowsからみえるマシン名などを設定しなければならない。設定ファイルは/etc/samba/smb.confである。
/mnt/shareをshareという名称で全ユーザー共有、各ユーザーのhomeディレクトリを公開する場合の最低限の/etc/samba/smb.confを下記にしめす。
グループ名はHOMEGROUPとしてみた。ユーザーは、GOOD、NGとしてみた
[global]
workgroup = HOMEGROUP
security = user
load printers = yes
printing = cups
printcap name = cup
unix charset = UTF8
dos charset = CP932
display charset = UTF8
[homes]
comment = Home Directories
writable = yes
create mask = 664
directory mask = 775
browseable = No
[share]
comment = Debian Sarge Liniux Samba Share Directory
path = /mnt/share
browsable = yes
valid users = root,GOOD,NG
writable = yes
create mask = 664
directory mask = 775
上記の内容を各自の都合で修正し、/etc/samba/smb.confに上書きする。SargeにバージョンアップしたときにFTPが死んでいるので、バージョンアップ前にsmb.confを作成して、別のディレクトリにコピーしておきSAMBAをインストール後に上書きするのが良いと思う。または、EMモードに切り替え、hda3をマウントしてftpで転送する方法もある。私は、自分の代替用のwebサーバーにsmb.confをおいてwgetコマンドで転送した。
なお、Windowsでファイルを修正する場合、漢字コードや改行コードの違いにより変換する必要があるためnkfのインストールと、FTP・SAMBAが使えない場合のWindowsからのファイル転送手段としてwgetをインストールしておくと良い。
apt-get install wget nkf
/etc/init.d/samba restart
webサーバー(THTTPD)のインストール
apt-get install thttpd
/etc/init.d/thttpd stop
Y
公開するディレクトリ等を設定するため、/etc/thttpd/thttpd.confを修正する必要がある。
/mnt/share/www
を公開し、/mnt/share/www/cgi-binをcgiファイルの置き場所とし、htmファイルはSJISの場合の/etc/thttpd/thttpd.confファイルの設定を下記に示す。
port=80
nochroot
user=www-data
logfile=/var/log/thttpd.log
throttles=/etc/thttpd/throttle.conf
dir=/mnt/share/www
cgipat=/cgi-bin/*.cgi
charset="Shift_JIS"
上記の内容を各自の都合により修正し、/etc/thttp/thttpd.confに上書きする。
/etc/init.d/thttpd start
perlのインストール
apt-get install perl
perlは /usr/bin/perlにインストールされているので、cgiファイルの先頭をあわせて修正する。
webサーバーで公開するファイルのパーミッション
thttpdではディレクトリとcgiファイル以外は実行属性をつけてはならないので注意