2009年9月アーカイブ
[2009.09.30]
[2009.09.19]
[2009.09.18]
自宅サーバーで温度を測る。(USB温湿度計 USBRH)
さて、今週末から秋の大型連休ですね。自作サーバー構築にいい時期だと思います。
・・・が渡辺は家族サービスなど他に重要な業務(?)があるので、それほどサーバーの
面倒を見る時間はなさそうです。
ということで、今回は手短に導入できるサーバーの安定稼動に重要な「温度監視」の
方法をご紹介します。(作業時間は10分程度です)
このマシンで、CPUやHDDの温度監視をする方法は、以前の記事でご紹介しました。
残念ながら、INTEL D945GLF2 ではマザーボードの温度監視センサーがついていません。
そういう意味では、本格的なサーバー用途には向かないのかもしれませんが、お小遣いで
構築できる値段なので割り切ることにします。
それよりも、サーバーを動作させる部屋の温度や湿度が高いとよろしくありません。まずは
サーバー置き場の温度/湿度を定期的に観測して、サーバー置き場として適切なのかを
確認する必要があります。
具体的には
「監視対象のサーバーにUSB接続の温度計をつないで好きなときに温度を測る」
ことが簡単にできます。
必要なもの
1.USB接続温度計:ストロベリーリナックス社のUSBRH (組み立て済みで4,980円)
2.FreeBSDのパッケージ「usbrh」。
1.USB接続温度計の入手
通販で購入してください。ネット上ではセンサーを組み合わせて自作する方法など
もいろいろ紹介されていますが、サーバー構築/管理が目的なので、時間は他の
ことにかけたほうがよいと思います。(電子工作も楽しいと思いますが)
まず、USBRH温度計にUSBケーブルをつないで、サーバーのUSBポートにつなぎます。
すると、自動的にFreeBSD側で認識されると思います。確認するには
% dmesg | tail
とやって、
% dmesg | tail
ugen1.3: <Strawberry Linux Co.,Ltd.> at usbus1
uhid1: <Strawberry Linux Co.,Ltd. Hygrometer/Thermometer, class 0/0, rev 1.10/1.00,
addr 3> on usbus1
と認識されました。
2.パッケージ usbrh のインストール。
これも簡単です。portでインストールするなら、 root になって
# cd /usr/ports/misc/usbrh
# make install clean
これでおしまい。
コンパイル時間すら惜しい場合は、 pkg_add コマンド一発。
% sudo pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/8.0-BETA4/packages/All/usbrh-libusb-0.05.tbz
Password: (パスワードを入力)
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/8.0-BETA4/packages/All/usbrh-libusb-0.05.tbz... Done.
これでおしまい。
温度を測る場合には root 権限、または sudo で usbrh コマンドを実行します。
% sudo usbrh
28.16 58.18
左側(28.16) が温度、右側(58.18)が湿度になります。
普通のユーザー権限で温度を取得したい場合は、お手軽に対応するなら
root 権限になって、下記のように usbrh コマンドに setsuid ビットを立てれば実現可能です。
% sudo chmod 4755 /usr/local/bin/usbrh
確認は、
% ls -l /usr/local/bin/usbrh
-rwsr-xr-x 1 root wheel 20312 Aug 26 23:58 /usr/local/bin/usbrh
のように-rws となっていればOKです。将来的には、この温度を定期的に
取得して、グラフ化する方法もご紹介していきます。
この連休での渡辺の自宅サーバー管理作業はこれでおしまい。 (2009/09/18)
Q. IPPの固定IPサーバーは東京/神奈川/埼玉でのみ閲覧できるのですか?
IPPのサービス提供範囲の制限は、「お客様がインターネット接続する/外部からアクセスされるためのコンピューター(サーバー含む)の"設置場所"が東京、神奈川、埼玉に限られる」、というということです。
IPPご利用のお客様のコンピューターには固定のグローバルIPを割り当てられますので、全世界からのアクセスを受けるこが可能になります。同様に、お客様のコンピューターから、全世界のコンピューターにアクセスすることが可能です。
自宅サーバー向けに独自ドメインを取得する。
現在、自宅サーバー(atom330)はIPP.JPの固定IPアドレスが付けられた状態ですが、外部からSSHでリモートする場合、直接IPアドレスを入力しています。
これでは不便だし、これからウェブサーバーを立てるときには http://ipp.jp みたいにアクセスできないとカッコ悪いので、「独自ドメイン」を取って そのドメインで自宅サーバーにアクセスできるように設定してみます。
IPP.JPの固定IPサービスでも、当然独自ドメインを取得して自宅サーバーを 運営することができます・・・が、IPP.JPでは、設定サポートをしている わけではありませんので、ご了承くださいませ。(そのためにこのブログが あるとご理解ください。)
さて、ラット社では、@ドメインというサービスで、 汎用JPドメイン(例: rat.jp, ipp.jp) を格安で取得することができます(<営業乙)。今回は例として adp.jp というドメインを取得するケースで説明します。
(1) 汎用JPドメインの取得
ということで、@ドメインの「一般申込」 に必要事項を入力して、あとは指示に従って手続きを完了し、お金を払うとドメインが取得できます。

ドメインが取れたかどうかの確認は、@ドメインのトップページ でwhois 検索すると登録情報が表示されます。

結果はこのような感じになります。ドメインを取得しただけで、DNSへの登録が終わっていないので[Name Server] (下図の赤ワク部分)が空欄になっています。

次の記事では、取得したドメイン(adp.jp)で自宅サーバーにアクセスできるようDNSの設定を行います。
自宅サーバーの再構築(FreeBSD8.0-Stableの追っかけ)
amd64バージョンのFreeBSDをatom330 (Intel D945GCLF2) にインストールして自宅サーバ化を進めていますが、ちょっと負荷試験を兼ねて FreeBSDのシステム再構築をやってみましたので、手順を書いておきます。
手順概要 (参考:FreeBSDハンドブック)
(1) stable-supfile の編集
(2) cvsup の実行
(3) 以前構築した場合は、既存ファイルの削除 (chflags -R noschg ・・・)
(4) ユーザーランド(buildworld)とカーネルの再構築(buildkernel)
(5) カーネルのインストール (installkernel)
(6) 設定ファイルのバックアップ&ユーザーランドのインストール(installworld)
(7) 設定ファイルのマージ&再起動
作業はすべて root 権限で行うものとします。
(1) stable-supfile の編集
# cp /usr/share/examples/cvsup/stable-supfile /tmp
# vi /tmp/stable-supfile
host の部分を "cvsup.jp.freebsd.org" に変更します。
*default host=cvsup.jp.FreeBSD.org
(2) cvsup の実行
# cvsup -g -L 2 stable-supfile
ネットワークから更新したソースコードが手元のサーバーにインポートされていきます。
自宅のIPP環境で10分~15分くらいかかりました。
(3) 以前構築した場合は、既存ファイルの削除 (chflags -R noschg ・・・)
以下のコマンドを実行します。初めて再構築する場合は不要です。
# chflags -R noschg /usr/obj/usr && rm -r /usr/obj/usr
(4) ユーザーランド(buildworld)とカーネルの再構築(buildkernel)
/usr/srcに移動して、makeします。これが3時間ほどかかりました。
-j 4 はジョブの並列度です。なんちゃって4コアなので -j 4 にしました。
# cd /usr/src
# make -j 4 buildworld && make buildkernel
(ずっと待つ・・・)
このときの負荷ですが、 w コマンドの結果です。ロードアベレージが4を越えています。
そういう意味では、負荷テストの意味があったかな、とは思います。
atom330% w
4:24PM up 1 day, 15:58, 3 users, load averages: 4.20, 4.25, 4.03
USER TTY FROM LOGIN@ IDLE WHAT
root v0 - Mon03AM 1day -csh (csh)
me pts/0 xxx.rat.jp 2:53PM 1:09 /usr/obj/usr/src/tmp/u
me pts/1 xxx.rat.jp 3:20PM - w
CPU温度も計測できるので、計測してみました。
atom330% sysctl -a | grep temper
dev.cpu.0.temperature: 53
dev.cpu.1.temperature: 54
dev.cpu.2.temperature: 60
dev.cpu.3.temperature: 60
ずいぶん高いですね・・・起動時はCPU0で40度弱だったんですが・・
ちなみに、このコア温度計測をやるには、事前に以下のコマンドを実行します。
# kldload coretemp
起動時に coretemp カーネルモジュールを自動ロードするには
/boot/loader.conf に 「coretemp_load="YES"」の行を追加します。
おまけ HDDの温度計測をやるには、smartmontools というパッケージを
インストールして、以下のコマンドを実行すると結果がでます。(44度でした)
# /usr/local/sbin/smartctl -a /dev/ad4 | grep Temperature_Celsius | awk '{print $10}'
44
(5) カーネルのインストール (installkernel) と再起動
# make installkernel
# reboot
(6) 設定ファイルのバックアップ&ユーザーランドのインストール(installworld)
再起動後、またログインして、 root になります。
# mergemaster -p
# cd /usr/src
# make installworld
ここでハマリました。 (/)のディスク容量が足りない、と。
atom330# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad4s1a 507630 499064 -32044 107% /
devfs 1 1 0 100% /dev
/dev/ad4s1e 507630 7422 459598 2% /tmp
/dev/ad4s1f 464978168 6997976 420781940 2% /usr
/dev/ad4s1d 3014286 17064 2756080 1% /var
FreeBSDインストーラーのデフォルト設定で、 / には 512MBしか
割り当ててなかったのですが、/boot に目一杯入っていたのが敗因です。
atom330# du /boot/
24 /boot/defaults
2 /boot/firmware
238084 /boot/kernel
2 /boot/modules
2 /boot/zfs
237294 /boot/kernel.old
476096 /boot/
仕方が無いので、 kernel.oldのデータを圧縮して別ディレクトリ /usr/tmp
に移動して230MBの空きをつくり再チャレンジ。
次に再構築する時にハマらないよう、 /boot/kernel.old を
/usr/boot/kernel.old ディレクトリを作ってシンボリックリンクを張ってごまかしました。
atom330# mkdir /usr/boot/kernel.old
atom330# cd /boot
atom330# rm -rf kernel.old
atom330# ln -s /usr/boot/kernel.old kernel.old
(カーネルの再構築が失敗して、かつ起動時に/usr をマウントしてくれないときが怖いです)
(7) 設定ファイルのマージ&再起動
# mergemaster
# reboot
(8) 動作確認
再起動後、またログインして uname -a のコマンドを実行します。
% uname -a
FreeBSD atom330 8.0-BETA4 FreeBSD 8.0-BETA4 #0: Tue Sep 15 18:07:55 JST
2009 me@atom330:/usr/obj/usr/src/sys/GENERIC amd64
ちゃんとビルド時の日付になってますね。めでたしめでたし。
[2009.09.14]
自宅サーバーの初期設定(ユーザー追加、パッケージインストール)
昨晩、atom330 マシンに FreeBSD 8.0 BETA4 をインストールしましたが、これだけではありがたみもありません。現在VPNはあきらめて、グローバル固定4IPを使える状態にして、このマシンを外部(インターネット)からアクセスできるようにルーターの設定を変更しておきました。
いちおう確認。
example.jp% ping 211.8.XXX.XXX
PING 211.8.XXX.XXX (211.8.XXX.XXX): 56 data bytes
64 bytes from 211.8.XXX.XXX: icmp_seq=0 ttl=52 time=9.980 ms
64 bytes from 211.8.XXX.XXX: icmp_seq=1 ttl=52 time=9.732 ms
ということでOK。
1.作業用ユーザーの作成
コンソールに root でログインして、 adduser administrator として administrator ユーザーを追加します。次に administrator がrootに昇格できるよう、 /etc/groupを編集して wheel グループに administratorユーザーを追加します。
# vi /etc/group
wheel:*:0:root,administrator
リモート作業できるように、Windows PCから administrator ユーザーで SSHログインできるか確認します。ログインできたら su コマンドでrootに なれるかも確認します。
これでOKなら、リモートでいろんなところから作業できるようになりめでたしめでたし。
2.パッケージのインストール
引き続き各種パッケージソフトのインストール。ports からビルドしても良いのですが、いかんせん atom330 は遅いので package でインストールします。
pkg_add -r (パッケージ名) だと、 現時点では、
# pkg_add -r emacs
Error: Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.0-release/Latest/emacs.tbz: の用に怒られる
(packages-8.0-release/Latestは存在しない)ので、以下のようにファイルの取得先をベタ書きして パッケージインストールしました。(多分、フェッチ先を指定する方法があるのでしょうけれど、今日は時間が無いので さっさとできること、を優先しました)
2.1 sudo
# pkg_add -r ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/All/sudo-1.6.9.20.tbz
sudo をインストールしたので、設定変更します。ここでは、 sudo を実行できる人を wheel グループとするため、 sudoers 設定ファイルを編集して、 %wheel ALL=(ALL) ALL の行を追加します。
# vi /usr/local/etc/sudoers
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
2.2 cvsup
# pkg_add -r ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/All/cvsup-without-gui-16.1h_4.tbz
2.3 zsh
# pkg_add -r ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/All/zsh-4.3.10_2.tbz
2.4 bash
# pkg_add -r ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/All/bash-4.0.24.tbz
2.5 libxslt
# pkg_add -r ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/All/libxslt-1.1.24_2.tbz
2.6 zip
# pkg_add -r ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/All/zip-3.0.tbz
2.7 autoconf
# pkg_add -r ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/All/autoconf-2.62.tbz
2.8 apache2.2
# pkg_add -r ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/All/apache-2.2.11_7.tbz
/etc/rc.conf に apache22_enable="YES" の行を追加します。
今後の構築予定
- DNS設定(freens.jp)
- apache で仮想ホスティング
- メールサーバーをgoogle appsにする手順。
- phpとmysqlのビルド
- 別ドメインでメールサーバーを立てる。(sendmail/SMTP認証 + Cyrus IMAPDでpop/imap)
- メーリングリストを構築(mailman)
自宅サーバ(Intel atom330)にFreeBSD 8.0 Beta4 (amd64) を入れてみる。
ラット渡辺です。
先週金曜日に本社@溝口と自宅のVPN接続にチャレンジして、一応VPN接続+本社のファイルサーバにアクセスできましたが、こちらのLANがIPマスカレードオンリーなので、DMZ設定での1サーバ公開しかできない状態です。
これでは面白くないので、静的NAT+IPマスカレードの設定で、「公開サーバを複数立てつつ、自宅PCからは本社LANにVPN接続」できるようにチャレンジ中です・・・。が、自宅では妻も利用しているのでネットワーク設定のためにプチプチ接続が切れると、先に妻がキレてしまう可能性が高いので、また金曜日の深夜にでもやろうと思います。
さて、FreeBSD関連のニュースを見ていると、FreeBSD 8.0 のBETA4 (最終ベータ)が先週リリースされたということなので、ろくに使っていなかった「なんちゃってQuad Core」のIntel Atom330マシン(D945GCLF2)に、この最新(まだベータだけど)をインストールすることにしました。
<構成>
本体+CPU:INTEL D945GLF2
メモリ:2GB
ケース:SCY-201-ITX-BK
HDD:Hitachi HDP725050GLA360 GM4OA5CA
モニタ:安物のXGA液晶モニタ(インストール時のみ利用)
キーボード:AcerのUSBキーボード(インストール時のみ利用)
マウス:無し
i386アーキテクチャでずっとインストールしていましたが、今回はamd64アーキテクチャでインストールすることにしました。(ちょっと性能がよい部分があるらしいので)
手順1:ここから isoイメージ(8.0-BETA4-amd64-disc1.iso)をダウンロードしてCD-Rに焼く。
微妙に700MBギリギリなので、メディアによっては容量オーバーとか言われますのでご注意を。時間があって、ネットワークが高速な環境でしたら、DVDのisoイメージでもよいのかも。
手順2:サーバマシンにUSB-CDROMをつないで、手順1でコピーしたCDを入れて電源ON!
ちゃんとNICも認識されました(re0)。詳細な手順は省きますが、すべてデフォルト(というか自動)設定でパーティション設定を行いました。
DistributionはALL。ports もあり。ネットワーク設定はDHCPで、FTPでのインストール(ftp.jp.freebsd.org)。
手順3:特にデータも入っていなかったので、漢(オトコ)らしく全部フォーマットして、インストール開始。現状は外部アクセスできる設定に特にしていないので、早くリモート作業できる環境にしないと・・。今晩はここまで。
固定1IP向けサーバー公開メモ(Buffaloブロードバンドルーターの設定例)
ラット渡辺です。
先日IPPの固定IP契約数を確認したのですが、固定1IPのお客さんが多いようでした。
となると、普通のブロードバンドルータを使ってサーバーを立てるという使い方
がメインなんだろうと推測しまして、簡単ではありますが、固定1IP+普通の
ブロードバンドルーターの構成で、自宅のコンピューターのどれかを公開する
設定例をご紹介します。
今回は、渡辺が使っていたBuffalo(バッファロー) AirStationでの設定手順を
ご紹介しますが corega(コレガ)やIODATA(アイ・オー・データ機器)でも
同じような設定ができると思います。
※ 本記事はできるだけ正確に記載していますが、この記事の設定でトラブル
が発生しても、当サービスでは責任を負うことはできませんのでご注意ください
<前提>
・グローバルIPは固定1IPの契約(1890円/月)
・LAN構成は下記のイメージで、設定作業はPC(IP:192.168.11.3)から実施する。
・インターネットから211-XXX-XXX-XXX.ipp.jpにアクセスしたら、サーバー
(192.168.11.2)に接続されるようにする。
(NTT回線)
│
[フレッツルータ]
│
│ 211-XXX-XXX-XXX.ipp.jp
[AirStation]
│ 192.168.11.1
┌┴──────┐
サーバー 自宅PC
192.168.11.2 192.168.11.3
<手順>
1. AirStationの設定画面を表示します。
デフォルトでは http://192.168.11.1 となっていると思います。
2.アドバンスト画面を表示します。
[アドバンスト]をクリックします。
3. ネットワーク設定画面を表示します。
画面左の[ネットワーク設定]をクリックします。
4. DMZのアドレスを設定します。
ネットワーク設定の[アドレス変換]をクリックします。
「DMZのアドレス」部分に公開したいサーバーのプライベートアドレス(192.168.11.2)を
記入し、「設定」ボタンを押します。
以上で設定は完了です。
注1)自宅PCからサーバーにアクセスする場合、192.168.11.2 のIPアドレスに
アクセスすることになります。211-XXX-XXX-XXX.ipp.jp としてアクセスしたい場合、
Windows2000以降で手っ取り早い対策として
C:\WINDOWS\system32\drivers\etc
フォルダの hosts ファイルを変更する、というのがあります。
(C:\WINDOWS\system32 は環境により変わるかもしれません)
hosts ファイルはテキストファイルなので、Windowsにインストール
されている "メモ帳" で編集することができます。今回の例では、最下行に
192.168.11.2 211.XXX.XXX.XXX.ipp.jp
を追加しています。
-------------------------------------------------------------
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
127.0.0.1 localhost
192.168.11.2 211.XXX.XXX.XXX.ipp.jp
-------------------------------------------------------------
Q.固定IPアドレスはセッションごとに異なりますか?
複数セッションを同時にご利用の場合、ルーティングの設定によって、
利用されるセッションが異なります。当然ながら、WAN側のグローバル
IPアドレスは、セッション毎に異なりますので、1つのルーターに複数の
グローバルIPアドレスが割り振られていることになります。
外部からのアクセスはIPP提供の固定IP、内部からは別セッションの
動的IPを利用するという使い方は、個人でご利用の方には多い利用
方法で、実際に可能です。
弊社では、動的IPサービスとしてダイナミックIPオプションサービスを提供しておりますので、ぜひご利用ください(月額は+1000円)。
Q.1ドメインに1個のIPアドレスを対応させることは可能ですか?
例1) http://www.example.jp と http://shop.example.jp があった場合、それぞれと 別サーバーマシンで稼動させてIPアドレスを分けるケース
www.example.jp -> 211.XXX.XXX.1
shop.example.jp -> 211.XXX.XXX.2
例2) www.example.jp と shop.example.jp を同じサーバーマシンで 稼動させて同じIPアドレスを設定するケース
www.example.jp -> 211.XXX.XXX.1
shop.example.jp -> 211.XXX.XXX.1
※この場合、 211.XXX.XXX.1 のコンピューターにあるウェブサーバープログラム(apache) の仮想ウェブサイト設定(virtual hosting)をする必要があります。
例3) www.example.jp を複数のサーバーマシンで構築するケース
大規模なウェブサイトな場合、アクセスを分散させるために利用します。
google.jp の場合、以下のように 3台のコンピューターに同一ドメイン(google.jp)を割り当てています。
$ nslookup google.jp
Name: google.jp
Address: 74.125.91.104
Name: google.jp
Address: 74.125.95.104
Name: google.jp
Address: 72.14.203.104
Q. DNSの設定でバーチャルホスト(CNAME)設定は自由にできますか?
これは弊社が提供しているサービスであり、CNAMEの設定も可能です。
汎用JPドメイン以外の場合には、ドメインを取得されたレジストラにご相談ください。多くのレジストラ業者では、ブラウザからDNSレコードを設定できるコントロールパネルが用意されていますので、これで設定することが可能です。
なお、IPPでは、ご自分でDNSレコードの管理をされることを想定しております。
ご自分でDNSの運用をすることで、ご自由に設定できます。
Q. 利用場所と契約場所が異なっていても大丈夫ですか?
はい、問題ありません。
たとえば、利用場所が支社(例:神奈川県と埼玉県)で、事務手続きや支払いを行う場所が本社(例:東京都)というケースでも当IPPサービスを利用することが可能です。
[2009.09.10]
Q. ひかり電話と同時に使えますか?
はい、同時利用可能です。
当サービスはNTTのひかり電話に対応していますので、NTT東日本からレンタルされる「ひかり電話対応ルーター」等を利用することでIPPを利用しながらひかり電話を利用することができます。
[2009.09.03]
Q: 帯域制限を解除または拡張することはできますか?

新規お申込の流れ |
ご利用方法 |
ルーターの設定方法 |
設定確認 |
更新手続き(会員専用) |
会員規約 |
ユーザーへのリンク |
FAQ-よくある質問 |
オプションサービス |
当社社員のIPP活用メモ |
逆引き設定 |
自動引落手続き |
会員ページ |
退会手続き |

![]() |
[2009.09.30]
弊社が提供する汎用.JPドメイン取得サービス(@domain) でドメイン取得費用を3,200円から3,000円に値下げしました。独自ドメイン利用者の皆様、この機会に是非ご利用ください。 |