>お楽しみコーナー>Linux>インターネットサーバー サイトマップ 最終更新日:2005/07/22

センリュウのホームページへ ようこそ!

 LINUXでインターネットサーバー構築  前編 

 4 DNSサーバー(BIND)の設定 
 セカンダリは普通、自分で用意しなければならないが、たいていのプロバイダは1個に限り引き受けてくれるので、これを利用するようにする。
 プロバイダの用意してくれるセカンダリ用のDNSサーバーをns.provider.jp、IPアドレスは333.139.160.69とする。

設定ファイルの場所
   /etc/named.conf
           host.conf
           resolv.conf
   /var/named/named.hosts 正引き
                     named.rev 逆引き
                     named.local ローカル
                     named.ca キャッシュ

named.conf options {
directory "/var/named";
};

zone "." {
type hint;
file "named.ca";
};

zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};

zone "kaisha.co.jp" {
type master;
file "named.hosts";
};

zone "224.162.139.333.in-addr.arpa" {
type master;
file "named.rev";
};

host.conf order bind,hosts
multi on

resolv.conf domain kaisha.co.jp
nameserver 127.0.0.1
nameserver 333.139.160.69

named.hosts $TTL 604800
@ IN SOA ns.kaisha.co.jp. root.kaisha.co.jp.(
20000401
36000
3600
360000
604800
)
    IN NS ns
    IN NS ns.provider.jp.
    IN MX 10 ns
localhost IN A 127.0.0.1
ns IN A 333.139.162.226
www IN CNAME ns
mail IN CNAME ns

 
named.rev $TTL 604800
@ IN SOA ns.kaisha.co.jp. root.kaisha.co.jp.(
20000401
36000
3600
360000
604800
)
    IN NS ns.kaisha.co.jp.
    IN NS ns.provider.jp.
    IN PTR kaisha.co.jp.
    IN A 255.255.255.240
226 IN PTR ns.kaisha.co.jp.

named.local $TTL 604800
@ IN SOA ns.kaisha.co.jp. root.kaisha.co.jp.(
20000401
36000
3600
360000
604800
)
    IN NS ns.kaisha.co.jp.
1 IN PTR localhost.

named.ca 最新のファイルを取得するようにする。

 5 WWWサーバー(Apache2.0)の設定 
設定ファイルの場所
   /etc/httpd/conf/httpd.conf    3つのセクションに分かれている

httpd.conf 主要な内容のみ

### Section 1: Global Environment
ServerRoot "/etc/httpd"
Timeout 120
<IfModule prefork.c>
 StartServers 8     起動時に生成される子プロセス数
 MinSpareServers 5
 MaxSpareServers 20
 ServerLimit 256     子プロセスの上限
 MaxClients 256
 MaxRequestsPerChild 4000     子プロセスはこの数だけリクエストを処理すると停止する(不具合防止策)。
</IfModule>
Listen 80
Include conf.d/*.conf

### Section 2: 'Main' server configuration
User apache
Group apache
ServerAdmin root@localhost
#ServerName new.host.name:80
DocumentRoot "/var/www/html"
<Directory />
 Options FollowSymLinks
 AllowOverride None
</Directory>
<Directory "/var/www/html">
 Options Indexes FollowSymLinks     ←Indexesを削除(一覧させない)
 AllowOverride None
 Order allow,deny
 Allow from all
</Directory>
<IfModule mod_userdir.c>
 UserDir disable     ←#を付ける
 #UserDir public_html     ←#をはずす
</IfModule>
DirectoryIndex index.html index.html.var
AccessFileName .htaccess
DefaultType text/plain
HostnameLookups Off
ErrorLog logs/error_log
LogLevel warn
CustomLog logs/access_log combined
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
<Directory "/var/www/cgi-bin">
 AllowOverride None
 Options None
 Order allow,deny
 Allow from all
</Directory>
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW     ←jaを最初に持ってくる
AddDefaultCharset UTF-8     ←AddDefaultCharset Offにする
#AddHandler cgi-script .cgi
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

### Section 3: Virtual Hosts
#NameVirtualHost *:80
#<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

 

 6 Mailサーバー(Sendmail)の設定 
 sendmailは、受け付けるドメイン名(=/etc/mail/local-host-names)とリレーの設定すれば、ほぼそのまま使えるようになっている。
 なおxinetdなどでpop3サービスも使用できるようにしておく。

/etc/mail/local-host-namesの設定
まず/etc/sendmail.cfを編集し、/etc/mail/local-host-namesを使えるようにしておく。
  Fw /etc/mail/local-host-names  コメントマーク#をはずしておく。
/etc/mail/ local-host-namesの編集
        kaisha.co.jp

エイリアス機能
sendmail.cf      O AliasFile=/etc/mail/aliases
mail@kaisha.co.jp
あてメールをユーザー taro が受け取るようにするには、/etc/mail/aliases を編集して、次の行を加えておく。
          mail:   taro  (mailフォルダに残して置きたい場合は mail:   \mail,taro とする。)
変更したなら、# newaliases を実行しておく。

アクセス制限、リレーの許可
    sendmail.cf      kaccess hash -T<TMPF> /etc/mail/access
    ファイルの編集
        /etc/mail/access
                    ***.co.jp RELAY      リレー許可
                    ***@***.co.jp REJECT  拒否
                    172.31.10.23 DISCARD   破棄
                    127.0.0.1 RELAY       自分にも許可を出しておく
                    192.168.0. RELAY
    データベースファイルの作成
        # makemap hash /etc/mail/access < /etc/mail/access


 7 xinetdを利用したセキュリティ対策 

/etc/xinetd.conf defaults
{
instances = 60
only_from = 127.0.0.1 192.168.0.0
log_type = SYSLOG authpriv
log_on_success = HOST PID
log_on_failure = HOST RECORD
}
includedir /etc/xinetd.d
/etc/xinetd.d/wu-ftpd service ftp
{
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.ftpd
server_args = -l -a
only_from += *.*.*.*    (*.*.*.*には許可する適切なIPアドレスを記入)
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
disable = no
}
/etc/xinetd.d/ipop3 service pop3
{
socket_type = stream
wait = no
user = root
server = /usr/sbin/ipop3d
only_from += *.*.*.*    (*.*.*.*には許可する適切なIPアドレスを記入)
log_on_success += USERID
log_on_failure += USERID
disable = no
}

注意
・エントリーファイルを変更、作成した場合は、xinetdを再起動すること。
・なお、Turbolinux8では、/etc/hosts.allowやhosts.denyも併用するようになっているので注意。ここで制御しておかないとうまく動作しない。またsendmailも/etc/hosts.allowでsendmail: ALLとしておかないと、動作しないので注意。


 前編の最後に 
 以上で大体の設定は完了したので、変更したファイルにかかわるサービス(named xinetd httpd sendmail等)を再スタートさせておく。また何度も言うようだが、不要なサービス(nfs smb atalk等)があれば、これについては起動できないようにしておく。
 これで一応、前編の設定は終了である。


履歴 2005/01 更新