Linux-PC実験室 2003/10/05  Home <<Back >>Next

自宅Linuxサーバー復活
2003/4/23の突然のHDDクラッシュ以来、自宅のLinuxサーバーは停止していましたが、久しぶりにやる気が出てきたので、再度サーバー構築に取り掛かりました。
やる気が出るまでに半年もかかってしまった(^_^;
http://kin.homeftp.net/

さて、用意したパソコンはそれほど速くはありませんが、Pentium3-500MHzに60GBのHDDと512MBのメモリを搭載しました。今回は、いつも持ち歩くCD-ROM100枚をすべてLinuxサーバーに入れてしまい、どこからでもダウンロードが可能になるようにしようとたくらんでおります。もちろんほかの人にはアクセスできないように、<.htaccess>を設定してパスワード認証というのを計画しております。

さらに、今回はADSLルーターの廉価版である、メルコ社製ルーターBLR3-TX4Lでユニバーサルプラグアンドプレイも実現させて自宅でNetMeetingなどが出来る環境を整えようという予定です。結果はおいおい報告する予定です。


まずは、インストール〜設定
RedHatLinux9をサーバータイプですべてのファイルをインストールします。インストール時には特に注意することは無いですね。RedHatLinux9専用機ですからデュアルブートもなにもありませんからね。


メルコルーターBLR3-TX4LのLAN側アドレスは192.168.11.1、WindowsXPおよびWindowsMeなどはルータからDHCPサーバ機能によりIPアドレス自動割付、RedHatLinux9サーバ機には192.168.11.3を割り付ける。

メルコルータBLR3-TX4Lの設定画面はこんな感じ↓



DynDNS.org登録
DynamicDNS機能がルーターに内蔵されているというので、ためしにDynDNS.orgのサイトで登録してみました。
最初にユーザ登録をしてからすぐにログインしてアドレスを選びます。
なかなか短くていいアドレスは取れませんね〜10回くらい挑戦してなんとか取得できました。


取得出来たアドレスはkin.homeftp.netです。


ルーターのDynamic DNS画面へDynDNS.orgへ登録したユーザ名とパスワードなどを登録します。


ついでに自動切断をしないようにPPPoE設定で、切断時間を0秒にしておきます。

Apacheの設定
RedHatLinux9のインストールも何度もやっているとHTTPサーバの設定も手馴れたものです。
[メインメニュー]→[システム設定]→[サーバ設定]→[HTTPサーバ]をクリックします。
サーバ設定画面を表示させて、[メイン]タブをクリックします。
サーバー名に kin.homeftp.net を入力します。

[サーバ]タブをクリックし、ユーザ、グループともに nobody に修正します。

[OK]をクリックして保存して終了です。


httpd.confの設定
/etc/httpd/conf/httpd.conf をgeditで開きます。
297行目
下記太字の行のコメント(#)を追加および削除する。
<IFModule mod_userdir.c>
   #
   # UserDir is disabled by default since it can confirm the presence
   # of a username on the system (depending on home directory
   # permissions).
   #
   #UserDir "disable"
   
   #
   # To enable requests to /~user/ to serve the user's public_html
   # directory, use this directive instead of "UserDir disable":
   #
   UserDir public_html

</IFModule>

日本語の優先度を上げる。
LanguagePriority en da nl et fr de el it ja …の行を見つけて、下記のように修正する。
LanguagePriority ja en da nl et fr de el it …

表示の言語が西ヨーロッパ言語にならないようにする。
AddDefaultCharset ISO-8859-1 の行を見つけて、下記のように修正する。
AddDefaultCharset none

718行目
AddHandler cgi-script .cgi
この行がコメント化されていたら、#を消す。

960行目以降、以下のとおり設定する。kinはユーザ名なので、任意に設定する。
#<Directory "/var/www/html">
<Directory "/home/kin/public_html">
Options Indexes Includes FollowSymLinks

AllowOverride all
Allow from from all


Order allow,deny
</Directory>

<Directory "/var/www/icons">
Options Indexes MultiViews

AllowOverride all
Allow from from all


Order allow,deny
</Directory>

#<Directory "/var/www/cgi-bin">
<Directory "/home/kin/public_html/cgi-bin">
Options ExecCGI

AllowOverride all
Allow from from all


Order allow,deny
</Directory>

<Directory "/home/*/public_html/cgi-bin">
Options ExecCGI

AllowOverride all
Allow from from all

Order allow,deny
</Directory>

<Directory "/home/*/public_html">
Options Indexes
AllowOverride all
</Directory>

一番下の<Directory "/home/*/public_html/cgi-bin">以下9行は、ユーザディレクトリをWeb公開する場合必要。

AllowOverride all ←これは<.htaccess>を利用するため。


サービスの設定
[メインメニュー]→[システム設定]→[サーバ設定]→[サービス]をクリックする。
httpd にチェックを入れて開始をクリック。
vsftpd にチェックを入れて開始をクリック。
これでHTTPサーバとFTPサーバが起動します。


CGIを動作させる
usr/sbin/suexecファイルをリネームしてsuexec???などに変更します。

/usr/bin/perl** ファイル7個をコピーして/usr/local/bin/へコピーする。

ユーザフォルダのpublic_html内に、cgi-binフォルダを作成し、CGIファイルをアップロードする。フォルダの属性は755にしておくこと。
他のサーバで動作していたCGIをFFFTPなどでダウンロードしてアップロードすると、起動しないことがあります。私の場合はまったく動作しませんでした。改行コードが原因らしく、CGIプログラムの1行目PERLのパスを下記のように書き換えたら動作するようになりました。
#!/usr/local/bin/perl --



動作チェック
WindowsXP側からInternet Explorerを起動して、http://192.168.11.3/~kin/で動作をチェックする。
CGIファイルも動作してくれました。

あとは、Dynamic DNSのアドレスが世界中に広がるのを待つだけです。
そのうちにhttp://kin.homeftp.net/でアクセスできるようになるだろう・・・


LAN内のWindowsXPパソコンからアクセスできるようにする
このままでは、LAN内のパソコンでkin.homeftp.netへアクセスした場合、BLR3-TX4Lルーターにアクセスしてしまう。


LAN内のWindowsXPからだとルーターにログインしてしまうので、それを防ぐために、hostsファイルに下記赤字部分を追加する。
hostsファイルは、検索をするとすぐ見つかります。
# 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.3 kin.homeftp.net


今日はここまで!

2003/10/05  Home <<Back >>Next