サーバ構築演習1 第6回~55枚の画像で説明するメールサーバ(Postfix)編~

こんにちは~

いよいよサーバ構築演習、第6回についてです。

第5回の課題が難易度易しめだったので、期待していましたが色々手順があり、結構大変な課題でした。

55枚の画像で説明します(雑だったらごめんなさい)ので、ぜひ見てみてくださいね。

この記事書くのも結構大変…ボリューム多いと4時間位かかりますね~

やる前に

以下に該当する人は、すぐに作業しないほうが吉です。

※ちょっと作業が多かったり、いろいろな画面があるので

  • 寝る前5分、10分やって寝ようと思っている人
  • とにかく「サーバ演習やらなきゃ」と少し焦りがある人
  • 日程的に第6回ということもあり、疲れのピークが来ている方(まぁ、みんなそうですが・・・)

やること(目安の時間)

やった後には、「まぁこんなもんか」と思うかもしれませんが、授業資料と講義動画だけでは、私も含め勘所がない一般人にはちょっと厳しいかもです(ファイルの編集の是非の判断等)

※ちょっといろいろ調べたりしたことを記載していきますので、安心してください。

  • ネットワーク(IPアドレス/DHCPサーバ)の設定確認(約5分)
  • nmtui(NetworkManager Text User Interface設定 約15分)
  • メールサーバサービスのインストール確認(おそらく0分)
  • 設定ファイルの編集(約30分)
  • メールサーバサービスの起動(約5分)
  • メール送信してみる(約10分)
  • 動作ログの確認(約10分)
  • 課題提出の挑戦(約30分)

時間は少し大目に見ていますが、設定ファイルの編集は少し難易度高めです。

第6回Postfixの動作確認

ネットワーク(IPアドレス/DHCPサーバ)の設定確認(約5分)

IPアドレスの確認

さっそく少し大変です。

まずは、CentOSを起動し、以下のコマンドを打ってみてください。

ip addr show

でもOKです。

こんなの

ここのIPアドレスをメモしておきましょう

※後で使います!

DHCPアドレスの確認
赤くdefaultと出ても気にしない(でよいはず)

ここのIPアドレスもメモしておきましょう

※DHCPのアドレス、これも後で使います!

DNS(キャッシュ)サーバの確認
catコマンドは、ファイルの中身を表示してくれるコマンドです

これもメモしておきましょう!

自分の環境の設定をメモしておこう!
例:
IPアドレス:192.168.xxx.xxx
DHCPアドレス:192.168.xxx.xxx
DNSサーバアドレス:192.168.xxx.xxx
※192.168で始まっていない場合も問題ないですので、そのままメモしてください。

nmtui(NetworkManager Text User Interface設定 約15分)

ここから少し大変です。できれば、講義の動画を今一度確認しながら、実施してみると良いかもしれませんね。

まずは、以下のコマンドを打ってみてください。

こんな感じです

以下のような画面になりますが、壊れてないですよ。授業の通りですからね。

一番上の「Edit a connection」が選ばれている状態で「Enter」を押しましょう。
私のは、有線のLANケーブルが刺さっている所しかないので、1つだけ出てきました。
「enp0s3?」が選択されたままEnterをおします。
とりあえず、こんな画面になります。
キーボードの「↑」「↓」で移動できたりします。

~授業と少し前後します~

まずは、「↓」を押して
「IPv4 CONFIGURATION」の「<Automatic>」を選択し、
キーボードの「Enter」を押しましょう。
こんなのが開きます。
とりあえず、次の画像を見てください。
キーボードの「↓」ボタンを押し「Manual」を選択し、
キーボードの「Enter」を押しましょう
「Manual」に切り替わったことを確認します。
次に、キーボードの「↓」ボタンを押し「Show」(上にあるIPv4のほう)を選択し
キーボードの「Enter」を押しましょう
なんか色々出てきましたね…
キーボードの「↓」ボタンを押し
Addressesの<Add…>を選択。
その後、キーボードの「Enter」を押しましょう
ここに、先程?メモしたIPアドレス
例:192.168.xxx.xxx(xxxは数字)を入力し、
キーボードの「Enter」を押します
私の場合は、192.168.3.13
次に、同じ要領で「Gateway」に
DHCPのアドレス(これも、事前にメモしておいたやつ)
を入力し、Enterを押しましょう。
※私の場合は、192.168.3.1

次は、ちょっと注意しながら・・・

まずは、今までの要領で「DNS Server」の<Add…>を選択し
キーボードの「Enter」を押しましょう。
授業の通りなのですが
最初は、「127.0.0.1」を入力しキーボードの「Enter」を押しましょう。
全員が、「127.0.0.1」を入力します。
まだ、続きます。
次に、そのままキーボードの「↓」を押して<Add…>を選択します。
その後、キーボードの「Enter」を押します。
ここで、事前にメモした「DNSサーバ」のIPアドレスを入力しましょう。
私の場合は、192.168.3.1でした。
※DNSサーバが複数ある方は、複数入れて良いでしょう。

入力し終わったら、以下のような感じになるはずです。

その後は、キーボードの「↓」ボタンを押して、
画面右下の「OK」を選択し、キーボードの「Enter」を押しましょう。
元の画面に戻ってきます。
キーボードの「→」
キーボードの「↓」
を押していき、「Back」を選択。
キーボードの「Enter」を押しましょう。
Quitを選択し、キーボードの「Enter」を押しましょう。
ネットワークの再起動とDNSの確認

講義の通り、以下のように入力して確認してみましょう。

ns.wine.nomの「ns.」は講義の説明の通り、なくても良いみたいですね。

こんな画面が出てくればOK
こんな画面が出てくればOK

ここで、wine.nomだけではなく、第3回/第4回で実施した自分のアドレスを確認してみましょう。

こんな画面が出てくればOK
こんな画面が出てくればOK
「ns.」がない場合も念の為確認しておきました。
「ns.」がない場合も念の為確認しておきました。

ネットワークの設定確認はここまで。

疲れたら、ちょっと休憩しましょう。

メールサーバサービスのインストール確認(おそらく0分)

講義の通り、基本的にはPostfixというメールサーバサービスは既にインストールされているはずです。

まずは、以下のコマンドを打ちましょう。

こんな感じです。
postfixというものが表示されていればOK

何も表示されていない場合は、講義資料の通りyumコマンドでインストールが必要です。

※インストールはもう出来ますよね?

設定ファイルの編集(約30分)

 

実はここが最難関との噂も・・・

/etc/postfix/main.cfのファイルを編集します。

設定変更箇所は、9項目くらいですが、700行くらいあります…

※眠いときにはやらないようにお願いします。

 

作戦…

通常は、nanoエディタでファイルを編集しましょう。

※[ctrl]+[w]で検索ができるようです。

nano その5 – 文字列を検索する

私は、対象のファイルをWindowsに持ってきて、編集し、CentOSに戻すやり方を実施しました。

こんなイメージ

ちなみに、ファイルをWindows(macOS)に持ってこようが、nanoエディタでCentOS上で編集しようが、やることは一緒なので画面が違うだけですね。

・WinScpで、CentOSと接続
・右側で「/etc/postfix」を開く
・右側の「main.cf」を左側にドラッグ&ドロップで持ってきましょう

この時に、「main.cf」をコピーして編集前の状態をバックアップしておくと良いでしょう。

CentOSでのコピーは、cpコマンドで

ファイル編集

講義資料だと、以下の設定しろと言うことのようです。

難しくないですが、ここが鬼門です(ややこしい)

  • myhostname = ns.wine.nom
  • mydomain = wine.nom
  • myorigin = $mydomain
  • inet_interfaces = all
  • inet_protocols = ipv4
  • mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
  • mynetwork_style = host
  • home_mailbox = Mailbox
  • mail_spool_directory = /var/mail
変更差分

 

左が変更前

右が変更後

とし、画像で示します。

 

※こちらのほうが、伝わりやすいので!

※また、ファイルの行番号は、編集前後であくまで参考で

※「#」は外します

また、以下のサイトを参考にさせていただきました。(「この設定にしてね」だけだと、勘所がない人には判断することが結構厳しい)

postfix メール設定メモ

myhostname = ns.wine.nom
mydomain = wine.nom
※各自の名前で追加しましょう
※「virtual.domain.tld」を書き換えても良いでしょう
変更前:#myorigin = $mydomain
変更後:myorigin = $mydomain
※「#」を消すだけ

変更前:#inet_interface = all
変更後:inet_interface = all
※「#」を外す

変更前:inet_interfaces = all
変更後:inet_protocols = ipv4
※「all」を「ipv4」に書き換えでOK
※画像のように、「all」に「#」を追加。新たに「inet_~~ipv4」を追加でもOK

変更前:mydestination = $myhosta, localhost.$mydomain, localhost
変更後:#mydestination = $myhosta, localhost.$mydomain, localhost
※「#」をつける

変更前:
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
変更後:
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
※「#」を外す
変更前:#mynetwork_style = host
変更後:mynetwork_style = host
※「#」を外す

変更前:#home_mailbox = Mailbox
変更後:home_mailbox = Mailbox
※「#」を外す

変更前:#mail_spool_directory = /var/mail
変更後:mail_spool_directory = /var/mail
※「#」を外す

ちょっと難しかったですかね?

画像をダウンロードして拡大して見ても良いでしょう。

ファイルを戻す

Windows(WinSCP)やmac(scpコマンド)で、main.cfファイルを持ってきた場合は、CentOSに戻す必要がありますね。

例:Windowsにある編集後の「main.cf」をCentOS側の「/etc/postfix/」フォルダに戻します。左から右にドラッグ&ドロップでいけます。
上書き確認は「はい」を押しました

ファイル編集は、一旦ここまで。

メールサーバサービスの起動(約5分)

とりあえず順番にコマンドを打っていけばOKです。

successが出ればok
successが出ればok
何も出ませんがOKです
こちらも何も出ませんがOKです

メール送信してみる(約10分)

ちょっと大変ですが、以下のコードを打ってみましょう。

Enterで改行して、おかしいな?と思っても、そのまま全部打ち込んでくださいね。(最後のピリオドまでしっかりと)

こんな感じ

動作ログの確認(約10分)

cat ~ユーザ名/Mailboxコマンドで確認です。

届いたメールの内容が表示されますね。
「Mailbox」ではなく、小文字で「mailbox」だとNGでした。
色々メールの送信の経路の記録が残っているようです。
注意
[ctrl]+[z]で終了することが出来ます

課題提出の挑戦(約30分)

課題

授業の内容を聞いて、他の方のディスカッションの内容を見れば、何を提出すればよいかわかりますね。

直接何を提出するかは言えないので、あくまで参考情報です。ごめんなさい。

とりあえず、存在しないユーザにメールを送ってみましょう。

例:ジョージ(george)さんに送りましょう!

george
届かなかったログがでますね。
注意
[ctrl]+[z]で終了することが出来ます

その他:Tips

cat /root/Mailboxについて

さて、 cat /root/Mailboxを行った際に、Mailboxファイルがそもそも作成されておらず、コマンドが通らない。

こんなエラーかな???
実は、「less /var/log/maillog」コマンドの時にこんなメッセージが出ていたらしい
先人たちの知恵

ディスカッション画面で、その道にすごい詳しい方がたくさんいらっしゃったので、私も解決することが出来ました。

setenforce 0

コマンドを実行し、

getenforceコマンドで、Permissiveが返ってくればOKの様です。

再度、sendmail georgeg(仮)にメールを送ってみてから、cat /root/Mailboxコマンドを確認してみてくださいね。

●私は、ファイルを直接編集する方法を試しました。

CentOS7 SELinuxの無効化

 

まとめ

  • ネットワーク(IPアドレス/DHCPサーバ)の設定確認を行いました。
  • nmtuiの設定を行いました。
  • メールサーバサービスの設定確認を行いました。
  • 設定ファイルの設定確認を行いました。
  • メールサーバサービスの起動確認を行いました。
  • メール送信してみる確認を行いました。
  • 動作ログの確認を行いました。
  • 課題提出に挑戦してみました。

コメントを残す

メールアドレスが公開されることはありません。