メールサーバー設定 · 2 min read · Nov 13, 2025

ISPメールサーバーを仮想ユーザー/ドメインで設定する方法 - Centos 5.0、Postfix、Dovecot、MySQL、phpMyAdmin、TLS/SSLを使用 - ページ3

設定のテストと検証:

Postfix MySQLサポートの確認

postconf -m
btree  
cidr  
environ  
hash  
ldap  
mysql  
is  
proxy  
regexp  
static  
unix

MySQLが表示されない場合は、インストールを確認し、Postfixを再コンパイルしてください。

Postfix SMTP AUTHサポートの確認

telnet mail.example.co.tz 25

(S: = サーバー, C: = クライアント):

S: 220 mail.example.co.tz ESMTP Postfix  
C: EHLO example.co.tz  
S: 250-mail.example.co.tz  
S: 250-PIPELINING  
S: 250-SIZE 10240000  
S: 250-VRFY  
S: 250-ETRN  
S: 250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI  
S: 250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI  
S: 250-XVERP  
S: 250 8BITMIME  
C: quit

2行の新しい行に注意してください。

250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI  
250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI

これらは、PostfixがSMTP AUTHの使用を提供する際に発行する行です。

PostfixのTLSサポートの確認

telnet mail.example.co.tz 25

このセクションは、NON-RPMおよびRPMインストールの両方に適用されます。

私たちのHOWTOでは、smtpdデーモンは/usr/libexec/postfix/にあります。したがって、コマンドラインで次のようにします:

ldd /usr/libexec/postfix/smtpd
libsasl.so.7 => /usr/lib/libsasl.so.7 (0x4001e000)  
libssl.so.2 => /lib/libssl.so.2 (0x4002a000)  
libcrypto.so.2 => /lib/libcrypto.so.2 (0x40057000)  
libdb-3.2.so => /lib/libdb-3.2.so (0x4011a000)  
libnsl.so.1 => /lib/libnsl.so.1 (0x401c1000)  
libresolv.so.2 => /lib/libresolv.so.2 (0x401d7000)  
libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x401ea000)  
libc.so.6 => /lib/i686/libc.so.6 (0x401f1000)  
libdl.so.2 => /lib/libdl.so.2 (0x4032c000)  
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40330000)  
libpam.so.0 => /lib/libpam.so.0 (0x4035d000)  
libgssapi_krb5.so.2 => /usr/kerberos/lib/libgssapi_krb5.so.2 (0x40365000)  
libkrb5.so.3 => /usr/kerberos/lib/libkrb5.so.3 (0x40378000)  
libk5crypto.so.3 => /usr/kerberos/lib/libk5crypto.so.3 (0x403d1000)  
libcom_err.so.3 => /usr/kerberos/lib/libcom_err.so.3 (0x403e2000)  
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

smtpdデーモンはTLSをサポートしています。出力にlibsslが見つからない場合は、Postfixを静的ライブラリでビルドしたか、TLSでのPostfixのビルドがうまくいかなかったことを意味します。この場合は、Postfixのソースを再構成し、再コンパイルまたは再ビルドし、/etc/postfix/のデータをバックアップし、新しくコンパイルしたPostfixバイナリを再インストールする必要があります。

次に、TLSセッションを開始できるかどうかを確認します。サーバーにtelnetし、Postfixがその機能を広告する際にSTARTTLSという文字列が表示されるかどうかを確認します。次に、単にSTARTTLSと入力し、PostfixがTLSを開始する準備ができていると応答するのを待ちます。これが成功したtelnetセッションの例です:

telnet mail.example.co.tz 25
S: 220 mail.example.co.tz ESMTP Postfix (1.1.5)  
C: EHLO example.co.tz  
S: 250-mail.example.co.tz  
S: 250-PIPELINING  
S: 250-SIZE 10240000  
S: 250-VRFY  
S: 250-ETRN  
S: 250-STARTTLS - -TLSサポート  
S: 250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI  
S: 250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI  
S: 250-XVERP  
S: 250 8BITMIME  
C: STARTTLS  
S: 220 Ready to start TLS

ローカルマシンからのテストメールの送信

まず、localhostからユーザーtestにメールを送信できることを確認します。これは、私たちが持っている最も簡単なテストケースです。成功した場合は、Postfixサーバー上で実行されていないメールクライアントからテストにメールを送信することに進みます。

mail [email protected]
Subject: Test from localhost  
Test #1  
.  
Cc:  
[[email protected]]#

ローカルマシンでのテストメールの配信確認

pop3にtelnetして、Postfixがメールを配信したかどうかを確認します:

telnet example.co.tz pop3
Trying 192.168.49.81...  
Connected to mail.example.co.tz (192.168.49.81).  
Escape character is '^]'.  
+OK Dovecot ready.  
user [email protected]  
+OK  
pass mwamaLis  
+OK Logged in.  
list  
+OK 1 messages:  
1 429  
.  
retr 1  
+OK 429 octets  
Return-Path: <[email protected]>  
X-Original-To: [email protected]  
Delivered-To: [email protected]  
Received: by mail.example.co.tz (Postfix, from userid 500)  
id 74408C0AC6; Thu, 19 Jun 2008 10:47:52 +0300 (EAT)  
To: [email protected]  
Subject: Test from local  
Message-Id: <[email protected]>  
Date: Thu, 19 Jun 2008 10:47:52 +0300 (EAT)  
From: [email protected] (User)
Test #1  
.  
]^  
[[email protected]]$

Appendix Bを参照して、さらなるテストケースを確認してください。

最後にブラウザを起動し、http://mail.example.co.tzにアクセスして、ユーザー名とパスワードを入力し、ログインをクリックします。そして、メールサーバーでの操作を楽しんでください。

phpMyAdminのインストールと設定:

PhpMyAdminは、MySQLサーバーの管理を支援するために設計されたPHPで書かれたユーティリティです。ローカルまたはWWW経由で使用できます。これは、phpMyAdminプロジェクトの人々の努力と献身によって維持されており、現在47の異なる言語で利用可能です。

インストール:

phpMyAdminパッケージをダウンロードして抽出します。ファイルを必要な場所に移動し、名前を簡単に変更します;

mv phpMyAdmin-2.11.6-english /var/www/html/phpadmin

phpadminのルートディレクトリに移動します:

cd phpadmin/

次に、config.sample.inc.phpファイルの名前を変更し、設定に合わせて編集する必要があります。

cp -p config.sample.inc.php config.inc.php

viやお好みのエディタを使用してconfig.inc.phpを開き、次の行を見つけて、設定に合わせて編集します;

vi config.inc.php

次の行を編集します:

パスワードのような単語やフレーズを入力します。例:

$cfg['blowfish_secret'] = 'bongo';

$cfg['Servers'][$i]['controluser'] = 'pma'; --MySQLユーザー名
$cfg['Servers'][$i]['controlpass'] = 'pmapass'; --MySQLパスワード

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

/etc/httpd/conf/httpd.confに仮想エイリアスを作成し、次の行を追加します。

vi /etc/httpd/conf/httpd.conf
Alias /phpadmin /var/www/html/phpadmin

  Order allow,deny
  Allow from all

これが完了したら、ブラウザを起動し、アドレスバーにhttp://127.0.0.1/phpadminを入力します。ユーザー名とパスワードを入力して使用を開始します。ユーザー、ドメイン、エイリアスを作成するためにphpMyAdminを楽しんでください。

付録A:

コンパイラオプション:

PostfixがMakefileで必要とするオプションは、CCARGSなどの環境変数で定義されています。
CCARGS: コンパイラに追加の引数を提供します。コンパイラが特別なオプションを許可する場合や、サポートファイルがデフォルトのディレクトリにない場合は、この変数でそれらのオプションを示します。ヘッダーファイルの標準の場所は/usr/includeディレクトリです。ヘッダーファイルが他の場所にある場合は、コンパイラにそれらを探す場所を指示する必要があります。-Iコンパイラオプションは、コンパイラがヘッダーファイルを見つける可能性のある追加のディレクトリを指定するために使用されます。

CCARGS='-I/usr/local/include/'

コンパイラが検索すべき追加のディレクトリごとに追加の-Iオプションを使用します。

Postfixは、ビルド中に条件付きコンパイルを使用し、システム上で利用可能なライブラリや他のリソースに応じて異なります。システムについて発見したことや選択したオプションに基づいて、特定のマクロを定義します。-Dオプションは、Postfixをコンパイルする際にマクロを定義する方法を提供します。Postfixのアドオンパッケージは、ビルド時にそれを含めるようにPostfixに指示する特定のマクロを定義する必要があります。

たとえば、MySQLのサポートを含めたい場合は、HAS_MYSQLマクロを定義します:

CCARGS='-DHAS_MYSQL'

リンカオプションはAUXLIBS変数に設定されます。Postfixがオブジェクトファイルをコンパイルした後、必要なライブラリとともにそれらをリンクして実行可能ファイルを作成します。システムライブラリの標準の場所は/usr/libです。リンカに追加のディレクトリを検索させるには、-Lオプションを使用します:

AUXLIBS='-L/usr/local/lib'

特定のライブラリをリンクするために、リンカにどのライブラリをリンクするかを指示する必要があります。-lオプションは特定のライブラリの名前を指定するために使用されます。ライブラリファイルは標準の場所にあるか、-Lオプションで示されたディレクトリにある必要があります。ライブラリアーカイブファイルは、libで始まり、その名前が続き、拡張子は通常静的ライブラリの場合は.a、共有オブジェクトまたは共有ライブラリの場合は.soまたは.slです。-lオプションを使用する場合は、初期のlibとライブラリファイルの拡張子を省略します。たとえば、ライブラリファイルがlibmysqlclient.aと呼ばれるMySQLクライアントライブラリとリンクする場合、-lオプションは次のように指定されます:

AUXLIBS='-L/usr/local/lib -lmysqlclient

付録B

リモートユーザーへのメール配信(リレー)

私たちはtelnet mail.example.co.tz 25を実行します。リモートマシンから、telnetを192.168.49.81ポート25に接続します。接続が成功すると、Postfixが起動し、smtpdバナーで私たちを迎えます。(接続に失敗した場合は、ファイアウォールのルールを確認するか、Postfixが実行されているかを確認してください。)接続が確立されたら、次のコマンドを実行します。

(S: = サーバー, C: = クライアント):

S: 220 mail.example.co.tz ESMTP Postfix
C: EHLO example.co.tz
S: 250-mail.example.co.tz
S: 250-PIPELINING
S: 250-SIZE 10240000
S: 250-VRFY
S: 250-ETRN
S: 250-XVERP
S: 250 8BITMIME
C: mail from:< [email protected] >
S: 250 Ok
C: rcpt to:< [email protected] >
S: 250 Ok
C: data
S: 354 End data with .
C: Testmail relaying mail from [email protected] to [email protected]
C: Test #3
C: .
S: 250 Ok: queued as 84BA64078A
C: quit
S: 221 Bye

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。