Webminでサーバー構築

2002年10月25日、ソフマップ大宮店の書籍売場で

「Vine Linux2.5 と Webmin で作るコマンド不要の自宅サーバー」 (2002.10.10 第一版)
  発行:ローカス Vine Linux2.5 CD-ROM付き \2,500

を見つけました。 Webmin というのは UNIXサーバーを簡単設定する仕組みです。 Linux Controllerは RedHat Linuxだけが対象ですが、Webminは全ての UNIXが対象ということで汎用性が高いです。 PC UNIXサーバーに Webminをかぶせると、これ以降はブラウザからWebやメールやFTPサーバーなどが同じLANにつながった他のパソコンからブラウザを使って設定できるようになります。 PC UNIXサーバーをGUIが使えるように設定してしまうと肝心のサーバーの処理性が落ちてしまうのが心配ですが、このようにhttpプロトコル通信だけを使って設定するなら、この心配も不要です。

UNIXというと誰でも呪文みたいなコマンド打ち込みを想像すると思います。 実際、私もコマンド打ちの楽しみが UNIXの楽しみになっています。 でも、これが一般の方には敷居が高いように思います。

この本、そういう意味では画期的!です。 パソコンに Vine Linux2.5 をインストールするところから始まって、ネットワーク設定、DNSサーバー構築、FTPサーバー構築、HTTPサーバー構築、SMTP/POPサーバー構築、Sambaサーバー構築・・・などを一切のコマンドを打ち込むことなく、ブラウザベースの Webminでインターネットサーバーを設置する内容です。

Vine Linuxは標準で Webminが組み込まれているので、付録の Vine Linux2.5 CD-ROMをインストールするとすぐに使えます。
早速、お手軽サーバー構築をやってみました。

ターゲットマシンは秋葉の路上で買った 1,500円のマイクロBook PC です。 MMXペンティアム166MHz-CPU, メモリ160MB, HDD 8.3MB, 100Base-TX/10Base-TX LAN のスペックです。



まず Vine Linux2.5をインストールしました。

  1. 本に付属しているCD-ROMからブートするといろいろ質問されます。 私は以下のように答えました。 「インストールオプション:everything」とすると CD-ROM内のプログラムが全部インストールされます。 サーバーとして不必要なものもあるのですが、ともかく全部入れることをお奨めします。 後で追加インストールというのは面倒ですから。 このようにするとHDDを 1.6GB消費するので、最低でも 2GBの HDDは必要です。


  2. 私の場合、「ネットワーク設定」はルーターが「192.168.1.1」に居るので、このような設定になります。 Vine Linux / Webminマシンは「192.168.1.250」に存在するようになります。

  3. 「インストール時の言語選択:English」とすると、テキストモードでの Linuxの表示が英語でされます。 こちらのほうが正解です。 テキストモードでの日本語は文字化けして読めないのです。 例えば lsコマンドでファイル名を表示させると日付などが文字化けします。 読めない日本語モードより、文字化けしない英語モードのほうがイイのに決まってます。 Xを立ち上げて GUIモードで Linuxを操作するのなら日本語のほうが良いかもしれませんが、私の趣味のテキストモード操作では英語表示が良いです。 なお、英語モードとしても Webminは日本語で表示されます。

  4. 特に一番最後の「X設定:ログインの種類:text」は私の場合、大変重要です。 こうすると、Xは立ち上がらないでテキストベースLinuxがスタートするようになります。
  5. 約45分でインストールが完了しました。

  6. Xを使わないので Webmin は同じLANに接続した別のマシンから使う必要があります。 Webminの標準設定は localhostからの要求しか受け付けないようになっているので、「/etc/webmin/miniserv.conf」を viで編集します。
    allow = 127.0.0.1
    
    となっている行を
    allow = 127.0.0.1 192.168.1.0/255.255.255.0
    
    に変更します。 これで別のマシンから Webminが使えるようになりました。

  7. 同じLANに接続した別のマシンから Webminを立ち上げるにはブラウザから
    https://192.168.1.250:10000/
    
    とすればよいです。

  8. ここまで来ると今回立ち上げた Vine Linux / Webminマシンはリモートコントロールできるので、キーボードやマウスを外して運用しても問題ありません。(BIOSのキーボードチェックは外す必要はあります。)

Webminはこのような画面です。
本に付属していた Vine Linux2.5 CD-ROMに入っていた Webminは既に日本語化されていました。

PC UNIX をテキストモードで動作させるとハード性能の敷居が低いので、インターネットサーバー用途として超お奨めです。 これが Windowsだったら大変です。 ハード資源を大食いするし、メモリリークの問題でノン・ストップ運転はほとんど無理です。 PC UNIXではライセンスフリーですから、サーバーに必要なプログラムは無料で入手できるのでコストパーフォーマンスが抜群です。



ユーザー「hiroshi」のアカウントを作成しました。

  1. Webminから「システム」「ユーザとグループ」を開き、「新しいユーザの作成」をクリックします。

  2. 「ユーザ名:hiroshi」「実名:Hiroshi Kitaguchi」「シェル:/bin/bash」「ホームディレクトリ:/home/hiroshi」「パスワード:平文:*******」「プライマリグループ:hiroshi」「セカンダリグループ:root(0)」として「新規作成」をクリック。 そうです!!! hiroshiは重要なユーザーなので rootになれるのです。

  3. 見事!「 hiroshi」アカウントが出来ました。 お手軽ですね。

  4. 早速、Telnetで試験。 Telnetログインできました。 suで rootにもなれました。 もう Telnetが使えるようになりました。



FTPサーバーを立ち上げました。

  1. Vine Linuxは標準で ProFTPがインストールされているので、これを使うことにします。

  2. Webminから「システム」「システムの起動とシャットダウン」を開き、「ProFTP」をクリック。

  3. 「システム起動時にスタートするか?:はい」として「保存」をクリック。

  4. これだけで FTPサーバーが立ち上がりました。 FTPクライアントから接続試験してみると見事! FTPサーバーが動作しています。 お手軽ですね!!!

ついでに Anonymous FTPも立ち上げてみます。

  1. Webminから「システム」「ユーザとグループ」を開き、「ftp」をクリック。

  2. 「ホームディレクトリ:/home/ftp」と変更して「保存」をクリック。

  3. Webminから「その他」「ファイルマネージャ」を開いて「/home/ftp」を表示させる。 そうすると /home/ftpディレクトリの Userが rootになっているので、これを変更します。

  4. /home/ftpディレクトリにラインカーソルがある状態で「info」アイコンをクリックすると「User:root」と表示されているので、これを「User:hiroshi」に変更して「OK」をクリック。

  5. これで終わりです。 Anonymous FTPが有効になりました。 お手軽ですね!!! Anonymous FTPディレクトリ「/home/ftp」にファイルを書き込めるのは rootと hiroshiだけで、他のユーザーからは書き込みができません。 全ユーザーは読み込むのは問題なくできます。 やはり、hiroshiユーザーは偉いのです。



Sambaサーバーを立ち上げました。

Sambaと言っても助産婦さんのことではありません。 Windowsファイル共有ファイルサーバとプリンタサーバの機能があります。 私の場合、プリンタサーバ機能は特に必要ないので、ファイルサーバ機能だけを立ち上げました。 Windowsからの読み出し/書き込みが可能で、普通のWindowsファイルと全く同じように操作できます。

  1. Webminの「サーバ」「Samba」「モジュールの設定」を開き、「Samba設定ファイルの場所:/etc/smb.conf」「sambaパスワードファイルの場所:/etc/smbpasswd」と変更し、「保存」をクリック。

  2. 既存ユーザの LinuxへのログインIDとパスワードを SambaのログインIDとパスワードに変換します。 「サーバ」「Samba」を開き一番下のほうにある「UnixユーザからSambaユーザへの変換」をクリックすると「ユーザの変換」画面が表示されるので、「ユーザの変換」をクリック。

  3. 今後作成する一般ユーザを自動的に Sambaユーザとして登録し、LinuxのID/パスワードと同じもので利用できるように設定します。 「サーバ」「Samba」を開き一番下のほうにある「自動的にUnixユーザと Sambaユーザを同期するよう設定」をクリックすると「User Synchronisation」画面が表示されるので、ここに表示されているチェックボックスを全てチェックしてから、「Apply」をクリック。

  4. 「システム」「システムの起動とシャットダウン」の画面を開き、「smb」の「Start at boot?」を「はい」に設定しリブートすると Sambaサーバが立ち上がります。

  5. 以上で自分のホームディレクトリ(/home/(user))へ Windowsマシンからアクセス可能になっています。 Windows-XPだと「マイネットワーク」ウインドウを開くと自分のディレクトリ見えるので、IDとパスワードを入力すると書き込み読み出しが可能になっています。 Windows-XPからいつもの操作で「public_html」ディレクトリを作成し、このディレクトリの中に HTML記述で作成したホームページのソースを入れるとブラウザから「http://192.168.1.250/~hiroshi/」などとするとホームページが参照できます。 スタートHTMLは「index.html」です。 FTPでファイル転送するより Sambaのほうが Windowsファイルと同じように扱えるので楽です。

  6. ついでに、全ユーザーが R/Wアクセス可能な「/home/pblic」ディレクトリを作成しました。

  7. HTTPサーバーの公開ディレクトリ(/home/httpd/html)を hiroshiユーザからだけ R/W可能に設定しました。 hiroshiユーザは偉いので。

Sambaの設定ってテキストベースだと悩むことが多い(この設定だけで1冊の本になっているほどです。)のですが Webminを使うとたったこれだけです。 お手軽です!!!



HTTPサーバーは既に立ち上がっているのですが、マトモに設定しました。

私の場合、特に重要なのが、最初のページ(index.html)に組み込んであるカウンタとメールフォームを動作させるために、CGIと SSIを有効にする必要なことです。

  1. まずは hiroshiユーザーのホームページディレクトリを作成します。 Windows-XPのマイネットワークから Sambaで hiroshiユーザーにログインし、hiroshiディレクトリ(/home/hiroshi)を開き、ここに「public_html」という名前のディレクトリを作成します。 このディレクトリに入ったデータがブラウザで参照できる HTMLディレクトリとなります。 アクセスするにはブラウザから「http://192.168.1.250/~hiroshi/」と URLを指定します。 せっかく Sambaが動作しているので、ホームページ用のデータもこのディレクトリに転送しておきます。

  2. Webminより「サーバ」「Apache」を開くと一番最初は「組込モジュールの再設定」画面が開きます。 何にも考えないで「保存」をクリックします。

  3. もう一度、Webminより「サーバ」「Apache」を開くと今度は「Apache Webサーバ」画面が開きます。 この画面にある「デフォルトサーバ」をクリックすると「For デフォルトサーバ」という画面が出るので、一番下にある「ディレクトリ、ファイル、ロケーション毎にオプションを付加する」項に「タイプ:Directory」「パス:/home/hiroshi/public_html」と打ち込んで「新規作成」をクリック。 そうすると同じ画面の「ディレクトリ毎のオプション」項に「Directory /home/hiroshi/public_html」という名前のアイコンが追加されます。

  4. 上記の「Directory /home/hiroshi/public_html」アイコンをクリックすると同じような画面が表示されますが、この画面は「/home/hiroshi/public_html」ディレクトリの動作を指定するものです。

  5. 「ドキュメントオプション」をクリックし、「Execute CGI programs:はい」「Server-side includes and execs:はい」と設定し、その他は全て「いいえ」にし、一番下の「保存」をクリックすると前の画面に戻ります。

  6. 次は「MIMEタイプ」をクリックし、Content handlers項に「Handler:server parsed」「Extensions:.html」を入力し、一番下の「保存」をクリックすると前の画面に戻ります。

  7. 以上で /home/hiroshi/public_html ディレクトリでCGIとSSIが有効になる設定ができましたが、これを有効にする必要があります。 画面の上のほうにある「変更を適用」タブをクリックすると完了です。

  8. Windows-XPの IEから「http://192.168.1.250/~hiroshi/」をアクセスして CGIと SSIが正常に動作することを確認しました。 HTTPサーバーの設定と言ったって、たったこれだけです。

Apacheの設定はテキストモードで手動でやるのはかなり難しいです。 Webminでやるとこんなもので済みます。 お手軽ですね!!!



私の場合、Mailサーバーは Qmailを使いたいです。

それは MLプログラムに CMLを使うからです。 今回の CD-ROMには Qmailのパッケージが入っていませんでした。 別途、インタ−ネットを使って Qmail RPMをゲットする必要があるのですが、2002年11月11日現在、ADSL回線がつながるのを待っている状態なので、後日レポートとします。