Archives for : サーバー構築

HTTPサーバのインストールと設定

1. HTTPサーバのインストールと設定

1-1・httpdパッケージ(apache webサーバ)をインストールする

# yum -y install httpd

1-2・httpサーバの設定

以下の項目を修正する。#はコメントアウト行

/etc/httpd/conf/httpd.conf 設定例

# ユーザーからのページ要求に対し、最小限の情報を提供する。(セキュリティ的に)
ServerTokens Prod
# 管理者のメールアドレス
ServerAdmin root@mail.testdomain.com
# HTTPサーバのFQDN
ServerName host.testdomain.com
# /var/www/html ディレクトリ以下の設定
<Directory "/var/www/html">
  Options FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>
# URLがディレクトリのみの場合に表示する拡張子の優先順
DirectoryIndex index.html index.htm
# パラメータは Off, On, Email
ServerSignature Email
# デフォルトの文字コード Offにすると相手のブラウザで自動判別
AddDefaultCharset UTF-8

2. HTTPサーバの起動

2-1・HTTPサーバの起動・終了・再起動・状態確認

以下のコマンド一覧より、HTTPサーバを起動する

# /etc/rc.d/init.d/httpd start (起動)
# /etc/rc.d/init.d/httpd stop (終了)
# /etc/rc.d/init.d/httpd restart (再起動)
# /etc/rc.d/init.d/httpd status (状態確認)

2-2・HTTPサーバの動作確認
httpサービス(TCP80番ポート)が起動しているかを確認する

# netstat -an | grep :80
tcp        0      0 :::80                       :::*                        LISTEN

3. Webページの作成と閲覧

3-1・Webページを作成する

# vim /var/www/html/index.html  (indexファイルを作成し、中身を適当に書込保存する)

/var/www/html/index.html の中身

WebTest

3-2・Webページを閲覧する
ブラウザよりURL(http://サーバのドメイン/ もしくは http://サーバのIPアドレス/)を打ち込む、WebTestと表示される

以上、HTTPサーバのインストールと設定です。
※httpd.conf の細かな設定はこちらを参照すると良いかも。

DNSサーバのインストールと設定

1. DNSサーバのインストールと設定

1-1・bind パッケージ(DNSサーバ)をインストールする

# yum -y install bind

1-2・インストールした bind を確認する

# rpm -qa | grep '^bind'        (確認)
bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64
bind-9.8.2-0.17.rc1.el6_4.6.x86_64
bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64

2. リゾルバの設定

2-1・リゾルバの設定

リゾルバとは、ドメイン名を元にIPアドレスの情報を検索したり、IPアドレス からドメイン名の情報を検索する
(参照:http://www.atmarkit.co.jp/fnetwork/dnstips/010.html

vim /etc/resolv.conf の設定例

domain host.testdomain.com     (自身のサーバのローカルドメイン名の設定を行います。)
nameserver 127.0.0.1           (自身のネームサーバーに問い合わせを行います。 )

3. DNSサーバ基本設定

3-1・DNSサーバの設定

/etc/named.conf を以下のように修正する

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
        //listen-on port 53 { 127.0.0.1; };      1.(コメントアウトする)
        //listen-on-v6 port 53 { ::1; };     2.(コメントアウトする)
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };      3.(localhost ⇒ any に変更する)
        
        allow-recursion { any; };      4.(この行を追加する。外部ゾーンのとき他サーバへの問い合わせを許可する)       
 
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

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

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

include "/etc/named.other.zones";     5.(この行を最後行に追加する。ゾーン定義ファイルを読み込む)

3-2・ゾーン定義ファイルの作成
(ここではDNSサーバを起動する為にファイル作成のみで、設定は後述します。)

以下のコマンドを実行し、/etc/named.other.zones を作成する。さらに、所有ユーザ・所有グループのパーミッションを変更する

# touch /etc/named.other.zones             (作成)
# chown root:named /etc/named.other.zones  (所有ユーザと所有グループの変更)
# chmod 640 /etc/named.other.zones         (パーミッションの変更)
# ls -l /etc/named.other.zones             (確認)
-rw-r----- 1 root named 0 Sep  8 00:30 /etc/named.other.zones

3-3・DNSサーバの起動

以下コマンドでDNSサーバを起動する

# /etc/rc.d/init.d/named start
Generating /etc/rndc.key:     (3分ほど待つとOKと表示される)   [  OK  ]
Starting named:                                            [  OK  ]

以下、起動、終了、再起動のコマンド一覧

# /etc/rc.d/init.d/named start        (起動)
# /etc/rc.d/init.d/named stop        (終了)
# /etc/rc.d/init.d/named restart        (再起動)
# /etc/rc.d/init.d/named status        (現在の状態を確認)

3-4・DNSサーバの動作確認

■ 外部ゾーンの名前解決ができるかどうかを確認する。
(localの内部ゾーンは、この後設定する)

※ 内部ゾーンの設定は/etc/named.other.zones の中身を設定することにより、自身のDNSサーバで名前解決ができるようになる。
内部ゾーンで名前解決ができなければ、外部ゾーンに問い合わせを行い、名前解決をする。

# netstat -an | grep :53
tcp        0      0 133.242.184.145:53          0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN
udp        0      0 133.242.184.145:53          0.0.0.0:*
udp        0      0 127.0.0.1:53                0.0.0.0:*

■ 外部ゾーンの名前解決ができることを確認する

# nslookup www.google.co.jp
Server:         127.0.0.1
Address:        127.0.0.1#53        (自身のネームサーバに問い合わせ)

Non-authoritative answer:          (外部DNSへ問い合わせし名前解決)
Name:   www.google.co.jp
Address: 173.194.72.94

3-5・DNSサーバに関するログファイル
/var/log/messages

4. 正引きゾーンファイルの設定

3-1・正引きゾーンの定義

/etc/named.other.zones を以下のように記述にする。
※ ドメイン名が「testdomain.com」の場合、正引きゾーンファイル名を「testdomain.com.zone」とする。

/etc/named.other.zones 設定例

//seibiki
zone "testdomain.com" IN {
    type master;
    file "testdomain.com.zone";
    allow-update { none; };
};

3-2・正引きゾーンファイルの作成

/var/named/testdomain.com.zone を作成し、以下のように記述する。
※ 最初にスペースを空けないで記述すること。
※ ドット(.)が終わりにあるので記述忘れしないこと。
※ このファイルを修正した場合、serial番号を1つ上げること。

$TTL 1D
@     IN  SOA host.testdomain.com. root.host.testdomain.com. (
                                 2013090800   ; serial
                                         1D   ; refresh
                                         1H   ; retry
                                         1W   ; expire
                                         3H ) ; minimum

      NS  host.testdomain.com.

host  A   133.242.184.145                    (←正引きするホストを設定する)

3-3・所有ユーザ、所有グループのパーミッションの変更

以下のコマンドを実行し、/var/named/testdomain.com.zone の所有ユーザ、所有グループのパーミッションを変更する。

# chown root:named /var/named/testdomain.com.zone
# chmod 640 /var/named/testdomain.com.zone
# ls -l /var/named/testdomain.com.zone
-rw-r----- 1 root named 438 Sep  8 02:14 /var/named/testdomain.com.zone

3-4・DNSサーバの再起動

DNSサーバを再起動する。

# /etc/rc.d/init.d/named restart
Stopping named: .                                          [  OK  ]
Starting named:                                            [  OK  ]

3-5・DNSサーバの動作確認

正引きゾーンの名前解決ができるかを確認する。

# nslookup host.testdomain.com
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   host.testdomain.com
Address: 133.242.184.145

以上で、正引きが正常に行われていることを確認した。

5. 逆引きゾーンファイルの設定

5-1・逆引きゾーンの定義

/etc/named.other.zones に以下のように追加する。(逆引き分を追加)
※ 逆引きゾーン名は、dnsサーバのIPが 133.242.184.145 の場合、「242.133.in-addr.arpa」となる。

//seibiki
zone "testdomain.com" IN {
    type master;
    file "testdomain.com.zone";
    allow-update { none; };
};

//gyakubiki
zone "242.133.in-addr.arpa" IN {
    type master;
    file "242.133.in-addr.arpa.zone";
    allow-update { none; };
};

5-2・逆引きゾーンファイルの作成

/var/named/242.133.in-addr.arpa.zone を作成し、以下のように設定する。
※ 逆引きゾーンファイル名は、逆引きゾーン名が「242.133.in-addr.arpa」のとき、「242.133.in-addr.arpa.zone」とする

/var/named/242.133.in-addr.arpa.zone 設定例 ※.忘れをしないように注意

$TTL 1D
@        IN SOA host.testdomain.com. root.host.testdomain.com. (
                                   2013090800    ; serial
                                           1D    ; refresh
                                           1H    ; retry
                                           1W    ; expire
                                           3H )  ; minimum

         NS     host.testdomain.com.

145.184  PTR    host.testdomain.com.         (←逆引きするホストを設定。IPアドレスの第4オクテット、第3億テットの順で記述する)

5-3・所有ユーザ、所有グループのパーミッションの変更

以下のコマンドを実行し、/var/named/testdomain.com.zone の所有ユーザ、所有グループのパーミッションを変更する。

# chown root:named /var/named/242.133.in-addr.arpa.zone
# chmod 640 /var/named/242.133.in-addr.arpa.zone
# ls -l /var/named/242.133.in-addr.arpa.zone     (確認コマンド)
-rw-r----- 1 root named 440 Sep  8 02:55 /var/named/242.133.in-addr.arpa.zone

5-4・DNSサーバの再起動

DNSサーバを再起動する。

# /etc/rc.d/init.d/named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]

5-5・DNSサーバの動作確認

逆引きゾーンの名前解決ができるかを確認する。

# nslookup 133.242.184.145
Server:         127.0.0.1
Address:        127.0.0.1#53

145.184.242.133.in-addr.arpa    name = host.testdomain.com.

以上で、逆引きが正常に行われていることを確認した。

5-6・サービスの自動起動をONにする(マシンの再起動時、サービスを有効にする)

chkconfigコマンドで自動起動するように設定する。

# chkconfig named on

メールエイリアスの設定

1. メールエイリアスの設定

一つのメールアドレス(info@test.com)にメール送信すると、複数の受信者(金田、山下、山田)にメールが届く設定

1-1・vim /etc/aliases にて、メールエイリアスの設定を行う

info : kaneda@test.com, yamashita@test.com, yamada@test.com

※ローカルユーザの場合はユーザ名のみで良い。suzuki@test.com -> suzuki

1-2・メールエイリアスを有効化する

# newaliases  (newaliases コマンド実行)

もしくは

# /etc/rc.d/init.d/postfix restart  (postfixの再起動)

メール転送の設定

1. メール転送の設定

メールボックスに格納されたメールデータを転送する。
$HOME/.forward ファイルを作成しメール転送を設定する。一般ユーザ権限で設定することができる。

1-1・山さんから川さんへメール送信し、川さんのメールボックスに残さず、風さんへ転送する書式

kaze@test.com

※$HOME/.forward を開き、転送先の風さんのメアドを記述する

1-2・山さんから川さんへメール送信し、川さんのメールボックスに残し、風さんへ転送する書式

¥kawa, kaze@test.com

※受信者である川さんを上記と同じ記述にし、転送先に風さんのメアドを記述する

POP3 サーバのインストールと設定

1. dovecot パッケージのインストール

メール受信ソフトであるdovecotをインストールする

1-1・dovecot パッケージをインストールする

# yum -y install dovecot

1-2・インストールした dovecot を確認する

# rpm -qa | grep '^dovecot'        (確認)
dovecot.x86_64 1:2.0.9-5.el6 

※アンインストールしたい場合

# rpm -ev dovecot.x86_64
# rpm -qa | grep '^dovecot'        (確認)
#

2. POP3サーバの設定

2-1・/etc/dovecot.conf 設定例
以下は、編集箇所。vim /etc/dovecot.conf で編集する。

# 待ち受け上位層プロトコル
protocols = pop3
# メールの格納方法(Mailbox 形式もしくはMaildir 形式)
mail_location = mbox:~/mail:INBOX=/var/mail/%u

3. POP3サーバの起動

3-1・以下のコマンドでサーバを起動する

# /etc/rc.d/init.d/dovecot start            (起動)
# /etc/rc.d/init.d/dovecot stop           (停止)
# /etc/rc.d/init.d/dovecot restart            (再起動)

3-2・POP3サーバの動作確認
110番ポートが開いているかを確認する

# netstat -an | grep :110
tcp        0      0 127.0.0.1:110                0.0.0.0:*     LISTEN
tcp        0      0 ::1:110                      :::*          LISTEN

3-3・メール受信確認をする
メールクライアント(Outlook Express,Thunderbird等)の設定を
行い、メール受信をしてみましょう。
※メール受信は、dns設定が行われていることが前提です。

3-4・ログを確認するファイル
/var/log/maillog

3-5・再起動時もサービスが自動起動するように設定する
以下のコマンドを入力し、設定のGUI画面が表示されたら、[*] dovecot に矢印をつける。
(tabキーで移動、spaceで選択、enterで決定する。)

# netsysv

スクリーンショット 2013-09-07 15.56.23_edited

設定完了後、再起動し、netstat -an | grep:110 でサービスがLISTEN状態か確認する。

SMTPサーバ(Postfix)のインストールと設定

1. Postfixパッケージのインストール

1-1・postfixインストールの前にsendmailがあればアンインストールをする

# rpm -qa | grep '^sendmail'
# 
↑sendmailをインストールしてなければ空です。

1-2・sendmailがあればアンインストールする  ※競合回避の為

# rpm -ev --nodeps {sendmaiのパッケージファイル名}

1-3・postfixパッケージをインストールする

# yum -y install postfix

1-4・postfixパッケージがインストールされているか確認する

# rpm -qa '^postfix'
postfix-2.6.6-2.2.el6_1.x86_64

2. SMTPサーバの設定

2-1・vi /etc/postfix/main.cf で以下のように編集する
/etc/postfix/main.cf 設定例 (設定ファイル内で、#はコメントアウト行)

# ローカルホストのFQDN
myhostname = xxx.abcd.com
# ローカルホストのドメイン名
myhostname = abcd.com
# メールアドレスの形式
myorigin = $myhostname
# 待ち受けインターフェース
inet_interfaces = all


#inet_interfaces = localhost 
# メールの最終的な送信先として許可するFQDNもしくはドメイン名
mydestination = $myhostname, $mydomain
# mynetworksパラメータのデフォルト値
mynetworks_style = subnet
# Postfixが参照するエイリアスデータベース
# ローカルファイルもしくはリモートファイル(NISマップ等)を指定する
alias_maps = hash:/etc/alias
# newaliasコマンドが参照するエイリアスデータベース
# ローカルファイルを指定する
alias_database = hash:/etc/aliases
# メールボックスを格納するディレクトリ
mail_spool_directory = /var/spool/mail

3. SMTPサーバの起動

3-1・SMTPサーバを起動/終了/再起動するコマンド 以下より起動コマンドを実行する。

# /etc/rc.d/init.d/postfix srart           (起動)
# /etc/rc.d/init.d/postfix status           (現在の状態確認)
# /etc/rc.d/init.d/postfix stop           (終了)
# /etc/rc.d/init.d/postfix resrart           (再起動)

3-2・SMTPサーバの起動確認するコマンド
TCPの25番ポート(smtpサービス)がLISTEN(待ち受け)状態であることを確認する

# netstat -an | grep :25
tcp        0      0 127.0.0.1:25                0.0.0.0:*     LISTEN
tcp        0      0 ::1:25                      :::*          LISTEN

3-3・メールの送信
自分の携帯にメール送信する

# mail xxxxxx@i.softbank.jp        (自分の携帯メールアドレス)
Subject: test                      (題名)
test                               (本文)
.                                  (メール送信)

※メール送信は、dns設定が行われていることが前提です。

3-4・ログを確認するファイル
/var/log/maillog

3-5・再起動時もサービスが自動起動するように設定する
以下のコマンドを入力し、設定のGUI画面が表示されたら、[*] postfix に矢印をつける。
(tabキーで移動、spaceで選択、enterで決定する。)

# netsysv

スクリーンショット 2013-09-07 14.57.54_edited

設定完了後、再起動し、netstat -an | grep:25 でサービスがLISTEN状態か確認する。