CentOS8にPostfixメールサーバーをインストールして構成する方法

Postfixは、Linuxシステムでメールをルーティングまたは配信するために使用される無料のオープンソースMTA(メール転送エージェント)です。このガイドでは、CentOS8にPostfixをインストールして構成する方法を学習します。

実験室の設定:

ステップ1)システムを更新する

最初のステップは、システムソフトウェアパッケージが最新であることを確認することです。これを行うには、次のようにシステムを更新します。

# dnf update

続行する前に、他のMTA(Sendmailなど)がないことも確認してください。これにより、Postfix構成との競合が発生します。たとえば、Sendmailを削除するには、次のコマンドを実行します。

# dnf remove sendmail

**手順2)ホスト名を設定し、/ etc / hosts **を更新します

次のhostnamectlコマンドを使用して、システムにホスト名を設定します。

# hostnamectl set-hostname server1.crazytechgeek.info
# exec bash

さらに、システムのホスト名とIPを/ etc / hostsに追加する必要があります。

# vim /etc/hosts
192.168.1.13 server1.crazytechgeek.info

ファイルを保存して終了します。

手順3)Postfixメールサーバーをインストールする

システムで他のMTAが実行されていないことを確認した後、次のコマンドを実行してPostfixをインストールします。

# dnf install postfix

Install-Postfix-Centos8

ステップ4)Postfixサービスを開始して有効にする

Postfixを正常にインストールした後、次のコマンドを実行してPostfixサービスを開始して有効にします。

# systemctl start postfix
# systemctl enable postfix

Postfixステータスを確認するには、次のsystemctlコマンドを実行します。

# systemctl status postfix

Start-Postfix-check-status-centos8

すばらしいです。Postfixが稼働していることを確認しました。次に、ローカルからサーバーにメールを送信するようにPostfixを構成します。

手順5)mailxメールクライアントをインストールする

Postfixサーバーを構成する前に、mailxをインストールする必要があります。インストールするには、次のコマンドを実行します。

# dnf install mailx

Install-Mailx-CentOS8

手順6)Postfixメールサーバーを構成する

Postfixの構成ファイルは/etc/postfix/main.cfにあります。構成ファイルにいくつかの変更を加える必要があるため、お気に入りのテキストエディターで開いてください。

# vi /etc/postfix/main.cf

次の行を変更します。

myhostname = server1.crazytechgeek.info
mydomain = crazytechgeek.info
myorigin = $mydomain
## コメントを外してinetを設定する_インターフェイスはすべてに設定されます##
inet_interfaces = all
## すべてに変更##
inet_protocols = all
## コメント##
# mydestination = $myhostname, localhost.$mydomain, localhost
## コメントを外す##
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
## コメントを外してIP範囲を追加する##
mynetworks =192.168.1.0/24,127.0.0.0/8
## コメントを外す##
home_mailbox = Maildir/

終了したら、構成ファイルを保存して終了します。変更を有効にするには、postfixサービスを再起動します。

# systemctl restart postfix

手順7)Postfixメールサーバーをテストする

構成が有効かどうかをテストするには、最初にテストユーザーを作成します。

# useradd postfixuser
# passwd postfixuser

次に、次のコマンドを実行して、ローカルユーザーpkumarから別のユーザーpostfixuserにメールを送信します。

# telnet localhost smtp
または
# telnet localhost 25

telnetサービスがインストールされていない場合は、次のコマンドでインストールできます。

# dnf install telnet -y

前述のようにコマンドを実行すると、次の出力が得られます。

[ root@linuxtechi ~]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.220 server1.crazytechgeek.info ESMTP Postfix

上記の結果は、postfixメールサーバーへの接続が正常であることを確認しています。次に、次のコマンドを入力します。

# ehlo localhost

出力は次のようになります。

250- server1.crazytechgeek.info
250- PIPELINING
250- SIZE 10240000
250- VRFY
250- ETRN
250- STARTTLS
250- ENHANCEDSTATUSCODES
250- 8 BITMIME
250- DSN
250 SMTPUTF8

次に、mail from、rcpt to、dataなど、オレンジ色で強調表示されているコマンドを実行し、最後にquitと入力します。

mail from:<pkumar>2502.1.0 Ok
rcpt to:<postfixuser>2502.1.5 Ok
data
354 End data with<CR><LF>.<CR><LF>
Hello, Welcome to my mailserver(Postfix).2502.0.0 Ok: queued as B56BF1189BEC
quit
2212.0.0 Bye
Connection closed by foreign host

以下に示すように、telnetコマンドを実行して、ローカルユーザーpkumarから別のローカルユーザーpostfixuserにメールを送信します。

Send-email-with-telnet-centos8

すべてが計画どおりに進んだ場合、送信されたメールを新しいユーザーのホームディレクトリで表示できるはずです。

# ls /home/postfixuser/Maildir/new1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info
#

メールを読むには、以下に示すようにcatコマンドを使用します。

# cat /home/postfixuser/Maildir/new/1573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info

Read-postfix-email-linux

Postfixメールサーバーログ

Postfixメールサーバーのメールログはファイル/ var / log / maillogに保存されます。次のコマンドを使用して、リアルタイムログを表示します。

# tail -f /var/log/maillog

postfix-maillogs-centos8

Postfixメールサーバーを保護する

クライアントとPostfixサーバー間の通信のセキュリティを常に確保することをお勧めします。これは、信頼できる機関または自己署名証明書から取得できる[SSL証明書](https://cloud.tencent.com/product/symantecssl?from=10680)を使用して実現できます。このチュートリアルでは、opensslコマンドを使用して、Postfixの自己署名証明書を生成します。

opensslがシステムにすでにインストールされていると想定します。インストールされていない場合は、次のdnfコマンドを使用します。

# dnf install openssl -y

次のopensslコマンドを使用して、秘密鍵とCSR(証明書署名要求)を生成します。

# openssl req -nodes -newkey rsa:2048-keyout mail.key -out mail.csr

Postfix-Key-CSR-CentOS8

次に、次のopensslコマンドを使用して、自己署名証明書を生成します。

# openssl x509 -req -days 365-in mail.csr -signkey mail.key -out mail.crt
Signature ok
subject=C = IN, ST = New Delhi, L = New Delhi, O = IT, OU = IT, CN = server1.crazytechgeek.info, emailAddress = root@linuxtechi
Getting Private key
#

次に、秘密鍵と証明書ファイルを/ etc / postfixディレクトリにコピーします。

# cp mail.key mail.crt /etc/postfix

Postfix構成ファイルの秘密鍵と証明書ファイルのパスを更新します。

# vi /etc/postfix/main.cf
………
smtpd_use_tls = yes
smtpd_tls_cert_file =/etc/postfix/mail.crt
smtpd_tls_key_file =/etc/postfix/mail.key
smtpd_tls_security_level = may
………

Postfixサービスを再起動して、上記の変更を有効にします。

# systemctl restart postfix

mailxクライアントを使用して内部ローカルドメインと外部ドメインにメールを送信してみましょう。

pkumarからpostfixuserに内部ローカルメールを送信します。

# echo "test email"| mailx -s "Test email from Postfix MailServer"-r root@linuxtechi root@linuxtechi

次のコマンドを使用して、メールを確認して読みます。

# cd /home/postfixuser/Maildir/new/
# ll
total 8-rw-------.1 postfixuser postfixuser 476 Nov 1217:341573580091.Vfd02I20050b8M635437.server1.crazytechgeek.info
- rw-------.1 postfixuser postfixuser 612 Nov 1302:401573612845.Vfd02I20050bbM466643.server1.crazytechgeek.info
# cat 1573612845.Vfd02I20050bbM466643.server1.crazytechgeek.info

Read-Postfixuser-Email-CentOS8

postfixuserから外部ドメイン([email protected])にメールを送信します。

# echo "External Test email"| mailx -s "Postfix MailServer"-r root@linuxtechi root@linuxtechi

注:IPがどこにもブラックリストに登録されていない場合は、外部ドメインに送信したメールが送信されます。そうでない場合は、バウンスされ、スパムハウスなどのデータベースによってIPがブラックリストに登録されます。

Postfixメールキューを確認してください

mailqコマンドを使用して、キュー内のメールを一覧表示します。

# mailq
Mail queue is empty
#

実施する! Postfix構成が機能しています!今のところ以上です。このチュートリアルが洞察に満ちていて、ローカルのPostfixサーバーを簡単にセットアップできることを願っています。

以上が本稿の内容ですので、皆様のご勉強に役立てていただければ幸いです。

Recommended Posts

CentOS8にPostfixメールサーバーをインストールして構成する方法
CentOS8にNFSサーバーをインストールして構成する方法
CentOS7にElasticsearchをインストールして構成する方法
CentOS8にVNCをインストールして構成する方法
CentOS8にRedisをインストールして構成する方法
CentOS6にphpMyAdminをインストールして構成する方法
CentOS8にOwncloudをインストールして構成する方法
CentOS8にRedmineをインストールして構成する方法
Ubuntu16.04にNATSをインストールして構成する方法
CentOS7にDockerをインストールして使用する方法
Ubuntu16.04にownCloudをインストールして構成する方法
Ubuntu16.04にownCloudをインストールして構成する方法
Ubuntu18.04にGitLabをインストールして構成する方法
Ubuntu18.04にAnsibleをインストールして構成する方法
CentOS8にComposerをインストールして使用する方法
Ubuntu16.04にElasticsearchをインストールして構成する方法
Ubuntu14.04にPostGISをインストールして構成する方法
CentOS8にNode.jsとnpmをインストールする方法
Ubuntu18.04にVNCをインストールして構成する方法
Ubuntu16.04にSphinxをインストールして構成する方法
Ubuntu14.04にOrientDBをインストールして構成する方法
centos7.2.1511にjdk1.8.0_151とmysql5.6.38をインストールする方法
CentOS8にCurlをインストールして使用する方法
Ubuntu12.04にAppScaleをインストールして構成する方法
centosにtomcatをインストールおよびアンインストールする方法
Ubuntu14.04にPostGISをインストールして構成する方法
CentOS8でVsftpdを使用してFTPサーバーを構成する方法
CentOS 8 / RHEL8にCockpitをインストールして使用する方法
CentOS8でVsftpdを使用してFTPサーバーを構成する方法
centOS7にjdk1.8をインストールする方法
CentOS8にMySQLをインストールする方法
CentOS8にMemcachedをインストールする方法
CentOS8にRをインストールする方法
CentOS8にVirtualboxをインストールする方法
CentOS8にTensorFlowをインストールする方法
CentOS8にTeamViewerをインストールする方法
CentOSにPerl5をインストールする方法
CentOS8にGitをインストールする方法
CentOS8にGradleをインストールする方法
CentOS8にElasticsearchをインストールする方法
CentOS8にJavaをインストールする方法
CentOS8にGoをインストールする方法
CentOS8にGCCをインストールする方法
CentOS8にYarnをインストールする方法
CentOS8にNginxをインストールする方法
CentOS7にAsteriskをインストールする方法
CentOS8にJenkinsをインストールする方法
CentOS8にVagrantをインストールする方法
CentOS8にPython3.8をインストールする方法
CentOS8にTomcat9をインストールする方法
CentOS8にWebminをインストールする方法
CentOS8にRubyをインストールする方法
CentOS8にSkypeをインストールする方法
CentOS8にhtopをインストールする方法
CentOS8にPythonをインストールする方法
CentOS8にElasticsearchをインストールする方法
CentOS8にPostgresqlをインストールする方法
CentosにWordpressをインストールする方法
CentOS8にhtopをインストールする方法
CentOS8にTeamViewerをインストールする方法
CentOS8にMariaDBをインストールする方法