玄箱いじりのブログ記事

玄箱いじり

| | コメント(0)

kurobox.jpg

先日、衝動買いした玄箱です。

ボロPCのGentooの方は、まだ、基本システムがインストールできただけで、まだ何もないというのに、こちらの『玄箱』どうもが気になって。

玄箱は、先人の方が便利なキットを公開されていて、それを使えば簡単にVine化、Debian化、Gentoo化できたりするのですが、山下さんのサイトLinkStation/玄箱をハックしようを見ていたら、ゼロからGentoo化してみたくなりました。

んで、遅ればせながら『玄箱いじり』はじめます。山下さんの追体験をしていきたいと思っております。

玄箱にHDDをつなぐ

| | コメント(0)

玄箱は、玄人志向が販売する組み立て型のNASです。製品には、HDDがついておりません。HDDを別に用意して、つないで使います。

本来NASとしての製品ですが、中味はCPUにPowerPCを使ったLinuxが動いているのです。これを、いじりまくって、サーバ化してしまおうという魂胆です。2万弱で、Linuxサーバができてしまうのですから、安いものです。

opened-kurobox.jpg

さて、さっそくHDDの取り付けから。

説明書に従って、玄箱を分解し、HDDを取り付けます。分解には、ちょっとコツが要りますが、無理やりひっぱったりせず、説明書に書いてあるとおりに丁寧に分解していきます。私は、160GのHDDをつなぎました。

注意する点は、HDDのピンをジャンパーを使って、マスターに設定しておくこと。これをしないと、認識されない場合があります。

HDDをつないだら、分解したのと逆の手順で、組み立てます。ネットワークにつないで、電源ON。

付属のCDのKuroBoxSetup.exeを実行すると、ネットワーク上の玄箱を見つけてくれます。そのまま、セットアップを続けると、HDDが初期化され、NASとして使えるようになりました。

まず最初に、玄箱のHDDの初期イメージをバックアップしておきます。

玄箱の初期化されたHDDをとりはずし、ボロPCのスレーブに取り付ける。fdiskで、HDDのパーティションを見てみます。

# fdisk /dev/hdb

The number of cylinders for this disk is set to 19457.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/hdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hdb1               1         261     2096451   83  Linux
/dev/hdb2             262         293      257040   82  Linux swap / Solaris
/dev/hdb3             294       19457   153934830   83  Linux

Command (m for help): q

してみると、/dev/hda1がルート、/dev/hda3が共有ファイル用、/dev/hda2がスワップということでしょうか。

/dev/hdb1と/dev/hdb3をマウントして、バックアップしておきます。

# mkdir /mnt/kuro_hda1 /mnt/kuro_hda3
# mount /dev/hdb1 /mnt/kuro_hda1
# mount /dev/hdb3 /mnt/kuro_hda3
# cd /mnt/kuro_hda1
# tar zcvf /home/kuro/kuro_hda1.tgz .
# cd /mnt/kuro_hda3
# tar zcvf /home/kuro/kuro_hda3.tgz .

パーティションを切り直して、これを戻してやれば、立ち上がるだろうか?

CD-ROMのversion.txtを見ると、このイメージは、1.01のようです。玄人志向の1.02のアップデータがあったので、これを当てて、/dev/hda1をkuro_hda1_102.tgzとして再度バックアップしました。

眠くなったので、とりあえず今日はここまで。

パーティションの切り直し

| | コメント(0)

玄箱は、初期状態から、telnetが使えみたいです。LinkStation/玄箱をハックしようの山下さんは、LinkStationからいじり始めたので、最初に、telnetを導入しているようです。
この点、玄箱は楽できます。

LinkStationというのは、腹違いの双子のようなもので(ありえない?!)、BUFFALOから出ているNASで、中身は玄箱とほぼ同じものが動いているらしい。

ルートパーティションには、2Gが割り当てられていますが、Gentoo化に先立ち、これをもっと増やしてやりたいです。
パーティションを切り直し、昨日バックアップした内容を戻してやれば、動くはずですが・・・。

HDDをGentooPCにつないで、

  Device Boot      Start         End      Blocks   Id  System
/dev/hdb1               1        4864    39070048+  83  Linux
/dev/hdb2            4865        4896      257040   82  Linux swap / Solaris
/dev/hdb3            4897       19457   116961232+  83  Linux

のように、パーティションを切り直しました。

# mount /dev/hdb1 /mnt/kuro_hda1
# mount /dev/hdb3 /mnt/kuro_hda3
# cd /mnt/kuro_hda1
# tar zxvf /home/kuro/kuro_hda1_102.tgz
# cd /mnt/kuro_hda3
# tar zxvf /home/kuro/kuro_hda3.tgz

これを、玄箱に戻して電源ON

・・・
・・・
・・・

動いた! よしよし!

chroot環境下でGentoo構築

| | コメント(0)

玄箱Gentoo化の手順は、以下のようなステップを考えています。

  • まず、chroot環境下で、Gentoo環境構築
  • Gentoo環境下に、ハードウェアまわりに必要なモジュールを、オリジナルから、持ってくる
  • できたGentooイメージを、ルートに展開して、Gentoo化の出来上がり

まあ、そう簡単にはいかないと思いますが、ちまちまやることにします。

ああ、chrootがない。・・・そうかもね、NASには必要ないしと納得。しかし、こんなところで、納得してもいられない。どうしようかと、付属CDの内容をみていると、binaryの下にツール類があるのを見つけました。autoconf,binutils,gcc,make...。ふ〜む、まずはこれを、全部入れておきます。もしかしたら、chrootもあるかも?

# which chroot

chrootは、ありません。付属CDについてきたツール類で、コンパイルはできそうなので、ソースからコンパイルすることにします。

# emerge --search chroot

してみると、Gentooでは、coreutilsにパッケージされているらしい。 Gentooミラーサイトから、coreutils-5.2.1.tar.bz2を持ってきて、玄箱の共有フォルダ経由で、コピーします。適当なディレクトリに展開し、

# ./configure
# make

さすがに、PowerPC200MHzだと、時間がかかりますねー。
src下に、chrootができたので、/usr/local/sbinにコピーします。

# which chroot
/usr/local/sbin/chroot

ボロPCの時と同様に、ステージ→Portageと進むのですが、今回は、Stage3で手を抜くわけにはいきそうもない。Stage1をダウンロード&展開。Portageも同じく。
/etc/make.confを編集して、

# mount -t proc none /mnt/share/gentoo/proc
# chroot /mnt/share/gentoo /bin/bash
# env-update
# source /etc/profile
chrootもできた・・・。

が、

# emerge --sync

あれ、順調に進んでいたかに、見えたのですが、遅いのではなさそう・・・固まっています。Teratermで[Enter]を叩いただけで、Teratermが閉じてしまいました。

・・・(To be continued)

玄箱固まる!想定内?!

| | コメント(0)

世間では、ホリエモンがえらいことになっているようですが、こちらは、Portage更新中に、玄箱が固まってしまいます。何度やっても、また別の箇所で、同じ現象が起こりPortage更新は完了しません。

telnetできくなったりもしますが、pingも通るし、emergeのプロセスが落ちれば、再度telnetでつなぐ事もできます。
ハードウェアの障害とかじゃなさそうだし・・・、こんなところで諦めるわけにはいかない。

安直にGentoo化キットに手を出したくなる誘惑を抑えて・・・

想定内、想定内。

『この作業は、いわゆるキャッシュを最新にしているんだろ』としか理解していない私は、次のブートストラップを実行してみました。

最初は、順調に進んでいるかに見えましたが、3時間ぐらいすると、Teratermのログが流れなくなり、何かキーに触れると、telnetが切れてしまいます。

ふぅ・・・。さて、次の手は???

メモリが足らなくて、プロセスが処理しきれないのだろうか・・・?
スワップを増やしてみることにします。

玄箱からHDDをはずし、再びボロPCにつなぎ、必要なファイルをバックアップした後、パーティションを切り直して、スワップ領域を256Mから一気に1024Mに増やしてみることにします。

・・・(To be continued)

Portage更新無事完了

| | コメント(0)

とりあえず、Portage更新はうまくいったみたいです。

「emerge --sync」開始時のメッセージは、英語の苦手な私にも、「1日に1回以上やるな!」「バンリストに入れるぞ!」と警告しているような気がします。

今日は、何回 sync したかなぁ・・・。

次は、ブートストラップ・スクリプトの実行

# cd /usr/portage
# scripts/bootstrap.sh

コンパイルが始まりました。

こちらもうまくいくことを祈りながら、本日はお休みします・・・。

zzz.........

bootstrap失敗

| | コメント(0)

更新が滞ってしまいましたが、前回は、Portageツリーのrsyncが、とりあえずうまく行き、bootstrapを実行して寝てしまったわけですが・・・

その結果・・・

ダメでした。朝起きて見てみると、telnetのセッションが切れているではありませんか。何度かやってみましたが、ダメです。

ふぅ・・・

なんとしても、パワー不足・・・emergeするたびにこれでは、先が思いやられる。何でもソースからコンパイルのGentoo様は、玄箱には重荷なのか・・・。

stage3から、やるか・・・
それとも、distccを導入して、ボロPCにコンパイルを手伝わせるか・・・
何かいい手はないものか・・・

などと考えながら、ネットを検索していると、

いいものを見つけました。

その名も、

www.kurobox.com

苦手な英語を、わかる単語だけ拾い読みしてみると、玄箱用にコンフィギュレーション済みのGentoo-stage3に対応するファイルとPortageのオーバーレイセットを置いてあるではありませんか!

英語なのが玉にキズですが、ドキュメントも豊富にあり、最新のPortageにも対応しているようです。

これを、使ってみます。
では早速・・・・
っと

・・・(To be continued)

それでは、前回見つけた『kurobox.com』な方法で、玄箱にGentooを導入します。

最初に、次のファイルをダウンロードします。最新のものが、ミラーサイトにあったので、そちらを使います。

  • EM_mode_binaries.tar.gz --- EMモードで動作する最低限のツールが入っています。
  • system-20060108.tar.bz2 --- 玄箱用にカスタム化されたstage3
  • portage-20060127.tar.bz2 --- ミラーサイトでみつからなかったので、Gentooミラーから最新のものを使いました。
  • overlay-20060122.tar.bz2 --- 玄箱用portageオーバーレイ

作業は、ボロPCから行いました。

boro:

$ wget http://kurobox.ods.org/EM_mode_binaries.tar.gz
$ wget http://kurobox.ods.org/system-20060108.tar.bz2
$ wget http://mirror.gentoo.gr.jp/snapshots/portage-20060127.tar.bz2
$ wget http://kurobox.ods.org/overlay-20060122.tar.bz2

telnetで玄箱に入り、EMモードにします。

boro:

$ telnet kuro
login: root
Password:
# echo -n "NGNG" > /dev/fl3
# reboot

EMモードの玄箱に入り、RAMディスクの空き容量を確認します。

boro:

$ telnet 192.168.11.3
Trying 192.168.11.3...
Connected to 192.168.11.3.
Escape character is '^]'.
Kroutoshikou KURO-BOX (IETSUNA)
kernel 2.4.17-kuro-box on ppc

kuro:

KURO-BOX-EM login: root
Password: 
# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/ram0                 9677      5194      4483  54% /

ftpでEMモードコマンドファイルを転送しておきます。

$ ftp 192.168.11.3
Connected to 192.168.11.3.
220 KURO-BOX-EM FTP server (Version 6.4/OpenBSD/Linux-ftpd-0.17) ready.
331 Password required for root.
Password:
230- Linux 2.4.17 ppc unknown
230 User root logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/root" is current directory.
ftp> cd /
250 CWD command successful.
ftp> put EM_mode_binaries.tar.gz
local: EM_mode_binaries.tar.gz remote: EM_mode_binaries.tar.gz
200 PORT command successful.
150 Opening BINARY mode data connection for 'EM_mode_binaries.tar.gz'.
226 Transfer complete.
122637 bytes sent in 0.0245 secs (4.9e+03 Kbytes/sec)
ftp> bye
221 Goodbye.

転送したファイルを展開して、EMモード用コマンドをインストールします。

# cd /
# tar zxvf EM_mode_binaries.tar.gz 
bin/
bin/sfdisk
bin/fdisk
bin/bzip2
bin/date
bin/chroot

5つのコマンドがインストールされました。

次は、インストールされたfdiskを使って、パーティション分割です。

・・・(To be continued)

パーティション分割は、ドキュメントにならって、160GBのディスクを次のように分割しました。

  Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1        1246    10008463+  83  Linux
/dev/hda2            1247        1309      506047+  82  Linux swap
/dev/hda3            1310        2555    10008495   83  Linux
/dev/hda4            2556       19457   135765315    5  Extended
/dev/hda5            2556        4423    15004678+  83  Linux
/dev/hda6            4424        6291    15004678+  83  Linux
/dev/hda7            6292       19457   105755863+  83  Linux
/dev/hda1 --- /
/dev/hda2 --- swap
/dev/hda3 --- /var
/dev/hda5 --- /server
/dev/hda6 --- /backup
/dev/hda7 --- /media

フォーマットです。

# for i in 1 3 5 6 7 ; do mke2fs -j /dev/hda$i ; done 

コマンドラインでforループか、やるなぁ!

swap領域もフォーマット。

# mkswap /dev/hda2

ディスクをマウントして、ルートからのツリーを作成します。

# mkdir /gentoo
# mount -t ext3 /dev/hda1 /gentoo
# mkdir /gentoo/var 
# mount -t ext3 /dev/hda3 /gentoo/var

ディスクがマウントされたので、ダウンロードしたファイルをftpで転送します。

ftp> put system-20060108.tar.bz2
ftp> put portage-20060127.tar.bz2
ftp> put overlay-20060122.tar.bz2

ファイルダンプ

# cd /gentoo 
# tar xvjf system-20060108.tar.bz2
./bin/
./bin/gawk
./bin/awk
./bin/bunzip2
./bin/pgawk
./bin/igawk
./bin/rc-status
./bin/login
./bin/mount
./bin/umount
[...]
./var/spool/cron/lastrun/.keep
./var/spool/cron/.keep
./var/state/
./var/state/.keep
./var/empty/
./var/empty/.keep

ルートディレクトリは、次のようになってます。

# ls
bin         etc         lost+found  proc        sys         var
boot        home        mnt         root        tmp
dev         lib         opt         sbin        usr

次は、chrootして、新Gentooシステム内に入ります。

・・・(To be continued)

これまでの、手順はほとんどボロPCのときと変わりません。それでは、chrootしてGentooシステム内にはいります。

# mount -t proc none /gentoo/proc 
# cp -L /etc/resolv.conf /gentoo/etc/
# mount -t proc none /gentoo/proc 
# cp -L /etc/resolv.conf /gentoo/etc/
# chroot /gentoo /bin/bash 

KURO-BOX-EM / # source /etc/profile

プロンプトが、変わりました。

しばらくは使いにくいnanoを使うので、TERM変数を設定しておきます。

KURO-BOX-EM / # export TERM=vt100

portageスナップショットは、/varの直下につくります。kurobox.comでは、/var/tree下に作っていますが、今回使用しているファイルでそのようにすると、シンボリックリンクが、1つ深くなってしまってうまくいきません。

KURO-BOX-EM / #

以下の、portage下に必要なディレクトリを作っておきます。

KURO-BOX-EM portage # cd /var/portage
KURO-BOX-EM portage # mkdir distfiles
KURO-BOX-EM portage # mkdir packages
KURO-BOX-EM portage # mkdir rpm
KURO-BOX-EM portage # cd ..
KURO-BOX-EM portage # mkdir overlays

/etc/make.confをnanoで開いて、以下のように編集しました。

# Kurobox make.conf

CFLAGS="-O2 -mcpu=603e -fno-strict-aliasing -pipe -fsigned-char"
CXXFLAGS="${CFLAGS}"

PORTDIR=/var/portage
DISTDIR=/var/portage/distfiles
PKGDIR=/var/portage/packages
RPMDIR=/var/portage/rpm 

PORTDIR_OVERLAY="/var/overlays/kurobox"

RSYNC_EXCLUDEFROM=/etc/portage/rsync_excludes

GENTOO_MIRRORS="http://mirror.gentoo.gr.jp/"
SYNC="rsync://192.168.11.121/gentoo-portage"

PORTAGE_TMPDIR=/var/tmp
MAKEOPTS="-j6"
FEATURES="distcc"
DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"

ボロPCをrsyncサーバーをして、玄箱ではよく失敗するportage更新を、LAN内で実行するように、SYNC変数を指定しています。
また、玄箱でネックとなる、コンパイルを少しでも、早く実行できるようdistccを利用して、ボロPCに手伝わせる指定もしております。
rsyncサーバの構築とdistccの導入については、別途『Gentooいじり』に書く予定です。

/etc/make.profileにシンボリックリンクをはっておきます。

KURO-BOX-EM portage # rm make.profile
KURO-BOX-EM portage # ln -s ../var/overlays/kurobox/profiles/kurobox make.profile

次に、portageキャッシュをアップデートしておきます。

KURO-BOX-EM portage # emerge metadata

emergeをテストランして、portageの整合性をチェックします。

KURO-BOX-EM portage # emerge -puD system
Calculating system dependencies ...done!
OK!

ついでに、ボロPCにrsyncして、portageを最新状態にしておきます。

KURO-BOX-EM portage # emerge --sync

ふ〜む、多少早い気がする・・・。LAN内から、ダウンロードしてるんだから、その分早くなるのは当たり前か。

とりあえず、ここでティーブレイク。

・・・(To be continued)

systemの本番emergeは、ブート後にやるとして、設定をやってしまいます。

なれないnanoは使いにくい。vimをいれてしまいます。

KURO-BOX-EM # emerge vim

viを使って、/etc/fstab --- 次のように編集します。

/dev/hda1 /        ext3  noatime  0 1
/dev/hda2 none     swap  sw       0 0
/dev/hda3 /var     ext3  noatime  0 2
/dev/hda5 /server  ext3  noatime  0 2
/dev/hda6 /backup  ext3  noatime  0 2
/dev/hda7 /media   ext3  noatime  0 2
none      /proc    proc  defaults 0 0
none      /dev/shm tmpfs defaults 0 0

マウントディレクトリを作成します。

KURO-BOX-EM / # mkdir /server
KURO-BOX-EM / # mkdir /backup  
KURO-BOX-EM / # mkdir /media

rootパスワードの変更と、一般ユーザの作成

KURO-BOX-EM / # passwd  
New UNIX password:   
Retype new UNIX password:   
passwd: password updated successfully  
KURO-BOX-EM / # useradd kuro -m -G users,wheel -s /bin/bash  
KURO-BOX-EM / # passwd kuro  
New UNIX password:   
Retype new UNIX password:   
passwd: password updated successfully

/etc/conf.d/netを次のように編集して、IPアドレスを割り当てます。

config_eth0=( "192.168.11.111 netmask 255.255.255.0" )  
routes_eth0=( "default gw 192.168.11.1" )

/etc/hostsは、とりあえず以下のように

127.0.0.1  localhost kuro

telnetは使わず、sshを使います。

KURO-BOX-EM / # /etc/init.d/sshd start

少し時間がかかりますが、公開キー、秘密キーが生成されます。入れるかどうか、テストしておきます。

ボロPCから、

$ ssh root@192.168.11.3  ...  
Password:

rootパスワードを入力し、入れればOKです。

ブート時に、ネットワークを有効にすることとsshdが起動するように、defaultランレベルに登録します。

KURO-BOX-EM / # /etc/init.d/sshd stop
KURO-BOX-EM / # rc-update add net.eth0 default   
* net.eth0 added to runlevel default   
* rc-update complete.  
KURO-BOX-EM / # rc-update add sshd default   
* sshd added to runlevel default   
* rc-update complete. 

マウントを解除して、通常モード(EMモードでない)で起動します。

KURO-BOX-EM / # exit  
# umount /gentoo/var   
# umount /gentoo/proc   
# umount /gentoo     
# echo -n "OKOK" > /dev/fl3   
# reboot

一応これで、Gentoo化玄箱が、立ち上がるはずですが、次は仕上げとして、システムを最新の状態にすることと各種設定を行って、『kurobox.com』な方法でのGentoo化玄箱完成といたします。

・・・(To be continued)

Gentoo玄箱、一丁あがり!

| | コメント(0)

英語サイト『kurobox.com』な方法で、玄箱Gentoo化を進めてまいりましたが、システムを最新にすることと、いくつかの設定を行って、Gentoo化の仕上げとします。

EMモードから、通常モードに変更して、リブートして、sshで入ります。・・・・・・
『おお、見事Gentoo化玄箱に入ることができました。』

『kurobox.com』のドキュメントは、一応ここまでですが、まずemerge systemを実行して、システムを最新状態にします。
その前に、glibcのコンパイルを少しでも、早くするために、不要なlocaleは、コンパイルしないようにしておきます。

# mkdir -p /etc/portage  
# echo "sys-libs/glibc userlocales" >> /etc/portage/package.use

etc/locales.buildを編集して、

en_US/ISO-8859-1  
en_US.UTF-8/UTF-8  
de_DE/ISO-8859-1  
de_DE@euro/ISO-8859-15  
ja_JP.EUC-JP/EUC-JP  
ja_JP.UTF-8/UTF-8  
ja_JP/EUC-JP

以外は、削除します。
次に

# emerge -uD system

を実行して、最新のportageで、ベースシステムをリコンパイルします。これには、かなり時間がかかります。寝る前に、実行して、朝起きたときには、まだ終わってませんでした。ただ、いままでのように途中で固まってセッションが切れてしまわなかったのが幸いです。なんとか、10時ころには、おわりました。

前にも述べましたが、玄箱Gentooは、時間がかかるのがネックです。1パッケージ1日がかりでは、サーバ化は程遠いです。

少しでもコンパイルを早くするために、ccacheとdistccを導入します。

まずは、ccacheから

# emerge ccache

これは、すんなり終わりました。
/etc/make.confを編集して

FEATURES="ccache"  
CCACHE_SIZE="2G"  
CCACHE_DIR="/var/tmp/ccache"

として、ccacheの設定は完了です。

次は、distccです。こちらも、時間はかかるけど、手順は簡単です。(お手伝いさせるボロPCでも、同様にdistccをインストールします)

# emerge distcc

これがなんと、依存モジュールなども引っ張ってくるので、40パッケージもインストールされるようです。12時ころ実行を始めて、今3時をまわったところ・・・
今、6つ目を実行しています 。

設定を、やってしまいます。
/etc/make.confを編集するわけですが、今実行中なので、

# cp /etc/make.conf /etc/make.conf.new

として、/etc/make.conf.newを編集して、後で差し替えることにします。変更箇所は次のとおり

PORTAGE_TMPDIR=/var/tmp  
MAKEOPTS="-j6"  
FEATURES="ccache distcc"  ←distccを追加  DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc"

ホストマシンの登録と、起動スクリプトの登録して、distccの導入は終わりです。

# ditcc-config --set-hosts "192.168.11.101"
# rc-update add distccd default

distccのemergeがまだ実行中ではありますが、『kurobox.com』な方法での、玄箱Gentoo化は、完了とします。国内の玄箱いじり諸先輩方は、とっくにいじりつくして、今は下火気味ではありますが、外国(たぶん米国?)では、ここまでいじりまくっているとは・・・びっくりです。

これからは、自宅サーバ化して、Webサーバとして公開したいと思っております。

ntpによる時刻の同期

| | コメント(0)

コンパイル環境は、ひとまず整ったので、これからは、必要なパッケージを導入して行きます。 まずは、軽いところから、ntpを。

# emerge ntp

(多少は速くなっているのかな・・・)
/etc/ntpd.confの編集:

server [ntpサーバの指定] (一番近いであろうプロバイダのNTPサーバを指定しました)  
driftfile       /var/lib/ntp/ntp.drift    
restrict default nomodify nopeer  
restrict 127.0.0.1    # LAN内からアクセスできるようにして、サービスを公開  
restrict 192.168.11.0 mask 255.255.255.0 
nomodify 
nopeer 
notrap  

/etc/conf.d/ntp-clientの編集:

NTPCLIENT_CMD="ntpdate"
NTPCLIENT_OPTS=" -b -u [NTPサーバの指定]"
NTPCLIENT_TIMEOUT=30  

デフォルトランレベルに登録しておきます。

# rc-update add ntpd default
# rc-update add ntp-client default

ボロPC側でも、同様の手順でntpを導入し、[NTPサーバ]指定の箇所には、玄箱のアドレスを指定して、LAN内を同期させるようにしました。

玄箱Webサーバ稼動

| | コメント(0)

USE="mysql"でemerge --newuse worldしたので、apache2、php、mysqlによるxoopsが使える環境になりました。

Webサーバを公開するにあたり、ダイナミックDNSを使うことにします。
メジャーなところで、dyndns.comに登録しました。
homelinux.comというサブドメインを使ってmomomo.homelinux.comとしました。

apacheの設定を少しばかり変更します。

/etc/apache2/httpd.conf:

#AddDefaultCharset ISO-8859-1  AddDefaultCharset EUC-JP

バーチャルホストの機能を使い、外からのmomomo.homelinux.comでアクセスされた時のドキュメントを/var/www/momomo下に、LANからプライベートドキュメントとしてアクセスするドキュメントをデフォルトの/var/www/localhost/htdocs下に置くことにします。

/etc/apache2/vhosts.d/00_default_vhostを編集して

NameVirtualHost *:80
ServerAdmin webmaster@momomo.homelinux.com
DocumentRoot /var/www/momomo
ServerName momomo.homelinux.com
ErrorLog /var/log/apache2/momomo-error.log
CustomLog /var/log/apache2/momomo-access.log common
ServerName kuro
DocumentRoot "/var/www/localhost/htdocs"
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from 192.168.11.0/24

これで、LAN内からhttp://kuro/でアクセスした時はプライベートなドキュメントに、http://momomo.homelinux.com/ でアクセスされた時は公開用のドキュメントにと、振り分けられるわけです。
名前ベースのバーチャルホストを使用するには、注意が必要です。
Allow from 192.168.11.0/24とLAN内からのみのアクセスに限定しないと、ちょっとしたおまじないで、プライベートなはずのhttp://kuro/にアクセスされてしまうからです。

デフォルトランレベルに登録して

# rc-update add apache2 default

apacheを起動します。

# /etc/init.d/apache2 start

次に、ルータの設定で、ポート80を玄箱に向けて、外からアクセスできるようにします。 DDNSクライアントを立ち上げるところですが、ルータにその機能があったのでDDSNの設定もルータにて行いました。 まだコンテンツまったくなしでつまらないですが、良かったら試しにアクセスしてみて下さい。

http://momomo.homelinux.com/ (テスト稼動中) ==>現在稼働していません

2006年2月: 月別アーカイブ

2009年4月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

タグクラウド

このアーカイブについて

このページには、過去に書かれたブログ記事のうち玄箱いじりカテゴリに属しているものが含まれています。

前のカテゴリはMODxいじりです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。