TOPへ
起票 2005.2.13/更新 2005.2.13
 目次へ  
   



OSインストール Turbo Linux 7 Server

  roftp, tlnet, Apache など・・・・

 

 

OSインストール

インストールそのものは基本的にインストーラーに任せてしまいます。CDから起動できるのでそのまますすめます。
またサーバだけの目的に使うので私はXWindow関連は不要なのですが、それを切り離してインストールするのも逆に気を使うので全部入れておきます。何を入れるのかはインストール後半で出てくるのですが、全部をいれます。

最初はインストールするパーティションです。
標準仕様としてあれこれ細かく切り分けて聞いてくるのですが、なにをどう切ってもなんにも意味がありません。
boot, swap, を小分けしたらあとは全部 / ←rootです。これ一本で十分。細かくしたって1台のドライブのなか、壊れるときはどうにもならなくなるのでムダ。1パーティションで十分です。そうしないとあとで足りる足りないの不満がでてきちゃうから。どうしても /home の領域を制限したいという場合には適当に切り分けてください。

インストール中の選択でどのモジュールを選択するか、というところで多少悩んだりしますが、中途半端にサーバー仕様とかワークステーション仕様などと指定するとあとで困ります。コンパイルしようと思ったらあれがたんないこれがみつからないとやたらと怒られます。だから全部入れておきましょう。その方が効率が何倍も良く生産性もあがるっていうもんです。

Telnetの設定

OSがインストールできたら、その後はリモートで処理して行くことが主になるので、まずはtelnetを使える様にしました。
前バージョンまではTelnetは inetd というサービスデーモンで起動させていましたが、7のバージョンからは xinetd からの管理になります。手順が大幅に変わるわけです。( xinetdでは、その機能が使われない間はお休みさせてリソースの節約でもしているらしい)
設定は
/etc/xinetd.d/telnet
がすでに存在しているので

 disable yes という行を
 disable no

に変えて有効にさせるというだけ。そして、telnetを許可するホストを指定してあげます。同じファイルに


  onry_from

という項目とそのリストを書き足せば良いのですが
私はちょっとべつのところでアクセス制限をかけています。

 /etc/hosts.allow

この中に
 in.telnetd
に関する設定項目があり、許可するホストのアドレスを記載しました。

  in.telnetd:10.0.0.

 とこんな感じで書いておけばローカルアドレスからのtelnetが許可されます。

設定の有効化にはxinetdの再起動です  /etc/init.d/xinetd restart ですね。

FTP

ftpはproftpdというデーモンを使います。これも標準仕様です。
単体で起動させるのは簡単で、standaloneの設定です。
そのまま

  /etc/rc.d/init.d/proftpd  start

で開始します。
でもちゃんとセキュリティを設定しましょう。standaloneではなくスーパーサーバーとしてinetdの制御下におきます。

/etc/proftpd/proftpd.conf

の中にある次の行

 servertype standalone

これを次のようにかえます。

 servertype inetd 

これでinetdの管理下に置かれるようになります。inetdと書いても実際には xinetd から制御します。

telnetと同じように xinetd に制御させるために設定ファイルを編集します。この 
/etc/xinetd.d/ftp こういうファイルですが、私の使っているインストーラーではこれが存在しないので、同じように書き出します。   

    service ftp
    { 
      disable     = no
     socket_type = stream
     protocol    = tcp
     wait        = no
     user        = root
     server       = /usr/sbin/in.proftpd
    }
こんな感じ。
ここでも onry_from = xxxx
といったホスト制御ができますが、telnetと同じでhosts.allowで制御させました。

in.proftpd: 10.0.0.

こんな感じですね。
再起動は xinetd の初期化  /etc/init.d/xinetd restart だけです。


不正アクセスのモニタ

telnet や ftp のホスト制御を /etc/hosts.allow でやるかというと、不正ログインのレポートをメールで取り出したいからです。
hosts.allowは許可する方のファイルですが、破棄する方の設定は /etc/hosots.deny に記載します。そこにちょっと書き加えてあげます。
最後に

all : all

という行がありますが、次のように書きます。

all : all : spawn ( /usr/sbin/safe_finger -l %u@%h | /usr/bin/mail -s %d-%u@%h root) &

すると、不正アクセスがあった場合にroot宛にレポートがメールで送られてくるようになります。
やりたいのはそれだけでした。

DNSを働かせる

独自ドメインのDNS設定(zone関連)のことではありません。それは本格的に別記事にしておきます。
ここでは、DNSが起動していないといろいろと障害があるので、とりあえずDNSが動作する様にしておきます。

/etc/init.d/named start

これで起動はするのですが

chkconfig named on

としておけば次回は起動直後からnamedが働きます。設定の確認は
chkconfig --list | grep named
でレベル3のところがonになってれば大丈夫。

HTTPD/Apacheの設定

まずは、/etc/httpd/conf/httpd.conf の編集です。
ホームディレクトリに関するオプションなどを書き換えて調整しておきます。
セキュリティ上での必須項目もあります。
項目がたくさんあって大変ですが、チューニングはすればするほどいろいろ変化します。 私は気分によっていろいろと試してみたりすることもありますが、押さえどころだけ書いておきます。

サーバーの管理者アドレスを書きます・・・あまり影響ないような気もしています
ServerAdmin webmaster@ayamizu.com

ドキュメントルートは TurboLinuxのバージョン6.5と7以降で、デフォルトの場所が変わっています。
私は6.5スタートだったので、次のようになっています。
DocumentRoot "/home/httpd/html"

  新しいOSではこちらですね DocumentRoot "/var/www/html"

次にそのルートとなるドキュメントに対してオプション指定を次のようにしたしました。複数行に渡っていますが、#で始まるコメントを無視するとこれだけが残ります。
<Directory "/home/httpd/html">
Options MultiViews ExecCGI Includes <---- Indexesを消します。
あとは、CGIをこのディレクトリにおいて使うのでここでExecCGIを入れています
AllowOverride None
Order allow,deny
Allow from all
</Directory>
 Options にはIndexesがデフォルトで記載されています。これがあるとデフォルトファイル index.htm などが存在しないところへのgetリクエストが来た場合ディレクトリ構造を返してしまい、セキュリティが甘くなるので必ず消しておきましょう。

あとバーチャルホストを使う場合のディレクトリ指定です。普通は不要です。
<Directory "/home/httpd/別のディレクトリ">
Options MultiViews ExecCGI Includes
AllowOverride None
Order allow,deny
Allow from all
</Directory>

ディレクトリのデフォルトファイルを指定します。私は index.html ではなくて index.htm を主に使います。違いは最後のLです。
htmlを使う場合は変更は不要です。両方を列挙することもできるようです。
<IfModule mod_dir.c>
  DirectoryIndex index.htm
</IfModule>

CGIとして使うファイルの拡張子指定です。これを指定しておかないとcgiファイルを開くとソースが見えます。
AddHandler cgi-script .cgi .pl

もしバーチャルホストを使う場合はこんな記載を
バーチャルホストアドレス指定
NameVirtualHost 10.0.0.100

<VirtualHost 10.0.0.100>
ServerAdmin webmaster@ayamizu.com
DocumentRoot /home/httpd/html/
ServerName www.ayamizu.com
ErrorLog logs/ayamizu.com--error_log
CustomLog logs/ayamizu.com-access_log
</VirtualHost>

<VirtualHost 10.0.0.100>
ServerAdmin postmaster@exampe2.xxx
DocumentRoot /home/httpd/バーチャルホスト用/
ServerName www.exampe2.xxx
ErrorLog logs/exampe2.xxx--error_log
CustomLog logs/exampe2.xxx-access_log
</VirtualHost>

以上が整ったら起動させます。
/etc/rc.d/init.d/httpd start
です。もし起動しているのなら
/etc/rc.d/init.d/httpd restrt
です。アクセスしてみてちゃんと表示されていればOKです。

自動に起動するようになってない場合は

chkconfig httpd on
これでOK。

基本的なデーモンはこれは走ったとおもいます。
あとは独自ドメインのDNS設定、これはじっくり解説します。
もう一つ重要なのはメールサーバー MTA。私はqmailを使いますがこれもじっくり別記事にしておきます。

以上