メニュー 蕭寥亭 検索

自宅サーバ

8. 新サーバー機導入顛末・後編

 前編では自作となった新サーバー機のハードウェアについてご紹介しましたが、後編はソフトウェアまわりについて。

 肝心要はOS。旧サーバー機で使い続けた Vine Linux から Ubuntu に変更しました。 旧サーバー機時代にも採用を検討したことがあり、 新サーバー導入を検討し始めた頃から既定の路線でした。

Ubuntu

 Ubuntu については こちらへ → Ubuntu Japanese Team

 自宅サーバーでは Cent や Fedora の方が一般的かもしれませんが、この二者は Vine 同様 Red Hat 系で思い切ってOS変えるにしては面白味が今ひとつ( Ubuntu は Debian 系です)というのと、Windows XP 上の VirtualBox に デスクトップ版 Ubuntu を入れて遊んだり、手持ちのネットブックのOSを XP から Ubuntu の派生版である eeeLxubuntuBodhi Linux に変更したりして慣れていたからです。

 そうそう、IT 関係の仕事についていて勉強のために自宅サーバーをたてようとお考えの方は、商用 Linux では圧倒的なシェアを占めているといわれる Red Hat 系の方が良いかもしれません。

 一口に Ubuntu といってもバージョン、本家・派生版、対応 CPU の別など細かく分かれるのですが、わたしが使うことにしたのは Ubuntu Server 11.04 AMD64 版です。

 すでに Vine 時代にコマンドでの操作に慣れていたため(つーか、ff 1100 で GUI は無理・・・)、余計なものがついてこない Server に。

 現時点での最新版だがサポート期限の短い(2012年10月まで)11.04 か、やや古いがサポート期限は長い(2015年4月まで)10.04 LTS かでは迷いましたが、ハードウェアが新しめなので合わせて最新版の 11.04 に。

 かつ、メモリを 8GB 積んだので有効利用のため、AMD64 版に、という結果になりました。

 サーバー版のインストールは通常、テキストモードで、デスクトップ版とは少し勝手が違います。VirtualBox を使ってインストール時のスクリーンショットを撮ってみましたので、ご参考まで。↓

Ubuntu Server 11.04 AMD64 版 インストールの流れ

 最初に、Ubuntu Server 11.04 AMD64 版 のCDイメージファイルをダウンロードして、CDに焼きます。そのCDから起動すると、

Ubuntu Server 11.04 AMD64 版:インストール言語選択

使用する言語の選択になります。以下、日本語を選択したという前提で進みます。

Ubuntu Server 11.04 AMD64 版:メニュー

 ここで「Ubuntu Serverをインストール(I)」を選ぶとインストールが始まります。

Ubuntu Server 11.04 AMD64 版:インストール言語選択・警告

 こんな警告が出ます。確かに画面の表示が英語になる場合もありますが、それほど多くないのであまり心配しなくてもよいかと思います。

Ubuntu Server 11.04 AMD64 版:場所の選択

 「場所の選択」。ここは日本語ですが、次の

Ubuntu Server 11.04 AMD64 版:キーボードレイアウトの選択その1

「キーボードレイアウトの選択」では、英語になります。ここでは国を選択。

Ubuntu Server 11.04 AMD64 版:キーボードレイアウトの選択その2

 続いてキーボードの形式を選択。英語であっても判断できると思います。特殊なものを使っているのでなければ「Japan」で。

Ubuntu Server 11.04 AMD64 版:ネットワークの設定・ホスト名の入力

 「ネットワークの設定」で日本語に戻ります。

Ubuntu Server 11.04 AMD64 版:時間の設定

 「時間の設定」でまた英語に。「タイムゾーンをアジア/東京にしているけど、それでいいか?」と訊いています。日本国内にお住まいなら、そのままで。

Ubuntu Server 11.04 AMD64 版:ディスクのパーティショニングその1

 「ディスクのパーティショニング」で日本語に戻ります。ここではパーティショニングの方法を選択します。

Ubuntu Server 11.04 AMD64 版:ディスクのパーティショニングその2

 ここではパーティショニングするディスクの選択。

Ubuntu Server 11.04 AMD64 版:ディスクのパーティショニングその3

 ここでパーティショニングの内容を確認し、書き込みへ。

Ubuntu Server 11.04 AMD64 版:ベースシステムのインストール

 ベースシステムのインストールが開始されます。

Ubuntu Server 11.04 AMD64 版:ユーザーとパスワードのセットアップその1

 「ユーザーとパスワードのセットアップ」。ユーザーの本名を入力してくださいと説明にありますが、いわゆるユーザー名のことではなくユーザー名にひもづいて設定されるユーザー情報の中の名前を指しているようです。わかりにくいです。ユーザー名の設定はこの次で。

Ubuntu Server 11.04 AMD64 版:ユーザーとパスワードのセットアップその2

 ここでユーザー名の設定。Ubuntu では、ここで作成されるユーザーが root の代わりに使われます。

Ubuntu Server 11.04 AMD64 版:ユーザーとパスワードのセットアップその3

 ここでパスワードを設定。

Ubuntu Server 11.04 AMD64 版:ユーザーとパスワードのセットアップその4

 設定したパスワードを再入力。

Ubuntu Server 11.04 AMD64 版:ユーザーとパスワードのセットアップその5

 ホームディレクトリの暗号化を行うかどうかを選択。

Ubuntu Server 11.04 AMD64 版:パッケージマネージャの設定その1

 「パッケージマネージャの設定」。プロキシを使わないのであれば、空欄のままで次へ。

Ubuntu Server 11.04 AMD64 版:apt 設定中

 ファイルのダウンロードがあり、

Ubuntu Server 11.04 AMD64 版:tasksel の設定

システムのアップデート方法を選択。

Ubuntu Server 11.04 AMD64 版:ソフトウェアの選択

 「ソフトウェアの選択」。ここで必要なソフトウェアを選択してインストールすることができます。もちろん、わたしのようにここでは何も選択せず、OSインストール後に必要なものを自分で入れることも可能。

Ubuntu Server 11.04 AMD64 版:GRUB の設定

 マスターブートレコードに GRUB をインストールするかを選択。

Ubuntu Server 11.04 AMD64 版:インストールの完了

 これでインストール完了。CDを取り出して「続ける」を選択すると再起動します。

Ubuntu Server 11.04 AMD64 版:ログインプロンプト

 インストールが成功していれば Ubuntu が起動し、ログインプロンプトが表示されます。

Ubuntu Server 11.04 AMD64 版:ログイン後

 これでおしまい。一番最初にログインしたときは、こんな画面が出ます。

 OSのインストールが終わったらサーバーの設定をしていくことになります。Ubuntu も Linux には違いありませんから、やることは Vine の時と似たようなものですが、しかし Vine から移行する場合、気をつけた方がよいことがいくつかあると思います。わたしが気がついたことをいくつか挙げますと

root としてログインすることが原則不可

 他のディストリビューションから移行してきた人が、まずとまどうのがコレでしょう。じゃあ、root 権限が必要なコマンドを使う時はどうするのかというと、admin グループに属するユーザー(インストール時に作成したユーザーも該当します)でログインして sudo コマンドを併用することになります。例えば adduser コマンドでユーザー dareka を新規作成する場合はこんな感じで。

$ sudo adduser dareka

 ログインして最初に sudo コマンドを使う時はパスワード入力を求められます。

[sudo] password for ***:

 ここで入力するパスワードはログインしたユーザーのパスワードです(上記の場合だと *** のパスワード)。root のパスワードではありません。

 一度パスワードを入力すると一定時間(デフォルトでは15分間)内はパスワードを入力しなくても sudo コマンドを使うことができます。

パッケージ管理は APT

 Ubuntu では Cent や Fedora で使われている Yum は採用していません。同じ Red Hat 系でも Vine は APT ですので、ほぼ同じように使えます。ただし、root 権限が必要な場合はやはり上記の sudo コマンドを併用しなければなりません。また、パッケージの形式は rpm ではなく deb ですので、rpm 系のコマンドは使用できず、代わりに dpkg 系のコマンドを使うことになります。

コンソールでの日本語の文字化け

 インストール時に言語を「日本語」にした場合、システムのメッセージ等のうち、対応しているところは日本語で表示してくれます。ですが、残念なことにコンソールで日本語を表示させると、肝心の日本語部分が文字化けしてしまいます。

文字化けの実例

 上の画像は apt-cache show nano でエディタ・nano のパッケージ情報をコンソールに表示させたところですが、9行目の Description-ja: 以降の文に「□」が大量に表示されていて判読できなくなっています。ここは本来、

Description-ja: Pico にヒントを得て作られた、コンパクトで使いやすいテキストエディタ

GNU nano は使いやすいテキストエディタで、当初は Pico の代替品として設計され ました。Pico とは、かつて non-free

だったメーラパッケージ Pine の ncurses ベースのエディタです (現在 Pine 自体は、Apache ライセンスで Alpine

という名 前で入手できます)。

 と表示されるべきなのですが。

 標準のコンソールでは日本語が表示できないそうです(インストールで「日本語」を選択できるのに、矛盾しているとは思いますが)。わたしは Tera Term 等、日本語対応のターミナルソフトからリモートログインすることがほとんどで、その場合は問題なく日本語が表示されるのであまり気にしていませんが、コンソールでどうしても日本語表示をさせたい場合は、JFBTERM 等を追加インストールして対応させる必要があります。

ntsysv が使えない

  Vine の時と同じように インストール直後に不要なデーモンを停止しようとして気がついたんですが、Ubuntu では Red Hat 系でよく使われているデーモンの起動設定ツール ntsysv は使えないようです。類似のツールとして sysv-rc-conf が使えますが、デフォルトではインストールされないようです。

 そもそも Ubuntu は「インストールしたデーモンは常に起動する・起動しないデーモンは初めからインストールしない」という考え方のようで、コマンド ps で確認したところ、システムのコアしかインストールしていない状態では不要と言えるようなデーモンは動いていませんでした。

iptables が動いていない

 かなり後になって気がついてあわてたのは、Ubuntu Server 版の初期状態ではパケットフィルタリング機能・iptables が有効になっていないということ。デスクトップ版は最初から動いているんですが、なんででしょうね? 忘れたままサーバー公開とかするとエラい目に遭いかねないので、ご注意。

 有効化には ufw というコマンドを使います。

$ sudo ufw enable

 なお、ufw コマンドは iptables の設定にも使われます。

 その他、Ubuntu Server 版のお作法を知るために重要な文書として Ubuntu Server Guide というものが Ubuntu のサイトで公開されています。上記 iptables 有効化/設定コマンド ufw のさらに詳しい使い方や Apache のモジュール有効化には a2enmod というコマンドを使用すべしとかいった情報がここから得られます。残念ながら英文ですが(苦)、Ubuntu でサーバーをたてようとしている方は、関係ありそうなところだけでも目を通しておくことをお勧めします。Ubuntu の各バージョンごとに公開されているようで、 11.04 についてはこちら → 。

 とりあえず、Ubuntu への移行は無事完了したのですが、一時 Ubuntu を諦めようかと思ったこともあります。

 問題になったのは新たに導入した無停電電源装置(UPS)のオムロン BY50S 。日本製で値段が手頃だったことに加え、 メーカーサイト を見た限りではこの製品用の自動シャットダウンソフト・Simple Shutdown Software が Linux に対応しているようだったので購入したのですが、少々甘かったです。Ubuntu ではこのソフト、動きませんでした。

 自動シャットダウンソフトというのはその名のとおり、停電などを感知してサーバー機を自動的にシャットダウンしてくれるソフト。これが動いてくれれば、管理者(わたし)が不在の時に停電になっても安全にシャットダウンすることが可能になります。逆に動いてくれないと、UPS があってもそのバッテリを使い切ったところでいきなりサーバー機が落ちてしまいハードが壊れるという可能性が残り、UPS 導入の意義が半減してしまいます。

 よくよく メーカーサイト の説明を読めば、対応OSに Linux が含まれているものの、動作確認されていたのは Cent 5.x のみ(当時)。事前確認は大事だよね・・・。実際、Cent 5.4 ではちゃんと動作しましたので、Cent に乗り換えようかと思いましたが、他の作業はほぼ終わっている段階でそれはしんどい・・・。

 Linux 向けの UPS 管理ツールとしてはオープンソースの NUT というものがあり、Ubuntu にもパッケージが用意されています。「これを使えばうまくいくかも」と思ったのですが、NUT のサイトの対応表にオムロンの製品は無く・・・(オムロンの UPS は海外で販売されていないらしいので、そのためか)。

 ここで行き詰まってしまったのですが、ありがたいことに オムロン BY50S + Ubuntu の環境で NUT を動作させることに成功した方がその手順をブログで公開されており、 わたしもその通りに設定して自動シャットダウンに成功しました。多謝!!

 オムロンも自社ソフトを開発・検証して各ディストリビューションに対応させるのが負担なら、NUT 対応にしてその設定方法を公開する方が楽なんじゃないかと思いますけど。