この記事では、CentOS VPSでPostfixAdmin、Postfix、Dovecot、SQLiteを使用してメールサーバーをセットアップおよび構成する方法を示します。 PostfixAdminはPHPベースのWebフロントエンドであり、Postfixメールトランスポートエージェントの仮想ドメインとユーザーを管理できます。このガイドは他のLinuxVPSシステムでも機能するはずですが、CentOS7VPS用にテストおよび作成されています。
Ubuntuを使用している場合は、チュートリアルに従って、NginxとPHP7.0を使用するUbuntu16.04 VPSでPostfix、Dovecot、Spamassassin、SQLite、PostfixAdminを設定してください。
1。システムを更新し、必要なパッケージをインストールします
yum update yum install wget nano sqlite
2。システムユーザーを作成する
セキュリティ上の理由から、すべてのメールボックスの所有者となる新しいシステムユーザーを作成します。
useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin -c "Virtual Mail User" vmail mkdir -p /var/vmail chmod -R 770 /var/vmail chown -R vmail:mail /var/vmail
3。 PostfixAdminをインストールします
PostfixAdminの最新バージョンであるバージョン3は、MySQL、PostgreSQL、およびSQLiteデータベースをサポートしています。このガイドでは、SQLiteを使用します。
SalesforceからPostfixAdminアーカイブをダウンロードし、/ var / www /html/ディレクトリに抽出します。
wget -q -O - "http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-3.0.2.2/postfixadmin-3.0.2.2.tar.gz" | tar -xzf - -C /var/www/html
メール構成ファイルを開き、次の値を編集します。
nano /var/www/html/postfixadmin-3.0.2/config.inc.php
$CONF['configured'] = true; $CONF['database_type'] = 'sqlite'; // $CONF['database_host'] = 'localhost'; // $CONF['database_user'] = 'postfix'; // $CONF['database_password'] = 'postfixadmin'; $CONF['database_name'] = '/var/vmail/postfixadmin.db'; $CONF['domain_path'] = 'NO'; $CONF['domain_in_mailbox'] = 'YES';
chown -R apache: /var/www/html/postfixadmin-3.0.2
SQLiteデータベースを作成します:
touch /var/vmail/postfixadmin.db chown vmail:mail /var/vmail/postfixadmin.db chmod 660 /var/vmail/postfixadmin.db usermod -a -G mail apache
データベースにデータを入力するには、https://Your_IP_Address/postfixadmin-3.0.2/setup.php
にアクセスします。 次のように表示されます。Testing database connection - OK - sqlite://:xxxxx@//var/vmail/postfixadmin.db
Everything seems fine... attempting to create/update database structure
新しい管理者ユーザーを作成します:
bash /var/www/html/postfixadmin-3.0.2/scripts/postfixadmin-cli admin add admin@your_domain_name.com --password strong_password22 --password2 strong_password22 --superadmin 1 --active 1
4。 postfixをインストールして設定する
Postfixバージョン3はデフォルトのCentOS7リポジトリでは利用できないため、GhettoForgeリポジトリを使用します:
rpm -Uhv http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm
次のコマンドを使用して、SQLiteをサポートするpostfix3をインストールします。
yum install postfix3 postfix3-sqlite --enablerepo=gf-plus
インストールが完了したら、次のファイルを作成します。
nano /etc/postfix/sqlite_virtual_alias_maps.cf
dbpath = /var/vmail/postfixadmin.db query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
nano /etc/postfix/sqlite_virtual_alias_domain_maps.cf
dbpath = /var/vmail/postfixadmin.db query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = '%u' || '@' || alias_domain.target_domain AND alias.active = 1 AND alias_domain.active='1'
nano /etc/postfix/sqlite_virtual_alias_domain_catchall_maps.cf
dbpath = /var/vmail/postfixadmin.db query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = '%d' and alias.address = '@' || alias_domain.target_domain AND alias.active = 1 AND alias_domain.active='1'
nano /etc/postfix/sqlite_virtual_domains_maps.cf
dbpath = /var/vmail/postfixadmin.db query = SELECT domain FROM domain WHERE domain='%s' AND active = '1'
nano /etc/postfix/sqlite_virtual_mailbox_maps.cf
dbpath = /var/vmail/postfixadmin.db query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1'
nano /etc/postfix/sqlite_virtual_alias_domain_mailbox_maps.cf
dbpath = /var/vmail/postfixadmin.db query = SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain = '%d' and mailbox.username = '%u' || '@' || alias_domain.target_domain AND mailbox.active = 1 AND alias_domain.active='1'
[ecko_alert color =” blue”]どこかに行き詰まりましたか?私たちからVPSを入手してください。そうすれば、これらすべてを無料で行うことができます。メールサーバーを完全にセットアップして構成します。 [/ ecko_alert]
main.cf
を編集します ファイル:
postconf -e "myhostname = $(hostname -f)" postconf -e "virtual_mailbox_domains = sqlite:/etc/postfix/sqlite_virtual_domains_maps.cf" postconf -e "virtual_alias_maps = sqlite:/etc/postfix/sqlite_virtual_alias_maps.cf, sqlite:/etc/postfix/sqlite_virtual_alias_domain_maps.cf, sqlite:/etc/postfix/sqlite_virtual_alias_domain_catchall_maps.cf" postconf -e "virtual_mailbox_maps = sqlite:/etc/postfix/sqlite_virtual_mailbox_maps.cf, sqlite:/etc/postfix/sqlite_virtual_alias_domain_mailbox_maps.cf" postconf -e "smtpd_tls_cert_file = /etc/pki/tls/certs/localhost.crt" postconf -e "smtpd_tls_key_file = /etc/pki/tls/private/localhost.key" postconf -e "smtpd_use_tls = yes" postconf -e "smtpd_tls_auth_only = yes" postconf -e "smtpd_sasl_type = dovecot" postconf -e "smtpd_sasl_path = private/auth" postconf -e "smtpd_sasl_auth_enable = yes" postconf -e "smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination" postconf -e "mydestination = localhost" postconf -e "mynetworks = 127.0.0.0/8" postconf -e "inet_protocols = ipv4" postconf -e "inet_interfaces = all" postconf -e "virtual_transport = lmtp:unix:private/dovecot-lmtp"
master.cf
を開きます ファイル、submission inet n
を見つけます およびsmtps inet n
セクションを作成し、次のように編集します:
nano /etc/postfix/master.cf
submission inet n - n - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= -o smtpd_relay_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING smtps inet n - n - - smtpd -o syslog_name=postfix/smtps # -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions= -o smtpd_relay_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING
postfixサービスを有効にして再起動します
systemctl enable postfix systemctl restart postfix
5。 Dovecotのインストールと構成
次のコマンドを使用してdovecotをインストールします:
yum install dovecot
/etc/dovecot/conf.d/10-mail.conf
を開きます ファイルを作成し、次の値を変更します。
nano /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:/var/vmail/%d/%n mail_privileged_group = mail mail_uid = vmail mail_gid = mail first_valid_uid = 150 last_valid_uid = 150
/etc/dovecot/conf.d/10-auth.conf
を開きます ファイルを作成し、次の値を変更します。
nano /etc/dovecot/conf.d/10-auth.conf
auth_mechanisms = plain login #!include auth-system.conf.ext !include auth-sql.conf.ext
新しいdovecot-sql.conf.ext
を作成します ファイル:
nano /etc/dovecot/dovecot-sql.conf.ext
driver = sqlite connect = /var/vmail/postfixadmin.db default_pass_scheme = MD5-CRYPT password_query = \ SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home, \ 'maildir:/var/vmail/%d/%n' as userdb_mail, 150 as userdb_uid, 8 as userdb_gid \ FROM mailbox WHERE username = '%u' AND active = '1' user_query = \ SELECT '/var/vmail/%d/%n' as home, 'maildir:/var/vmail/%d/%n' as mail, \ 150 AS uid, 8 AS gid, 'dirsize:storage=' || quota AS quota \ FROM mailbox WHERE username = '%u' AND active = '1'
/etc/dovecot/conf.d/10-ssl.conf
内 ファイルはSSLサポートを有効にします:
ssl = yes
/etc/dovecot/conf.d/15-lda.conf
を開きます ファイルを作成し、postmaster_address
を設定します メールアドレス。
postmaster_address = postmaster@your_domain_name.com
/etc/dovecot/conf.d/10-master.conf
を開きます ファイルで、サービスlmtpセクションを見つけて、次のように変更します。
service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix } }
サービス認証セクションを見つけて、次のように変更します。
service auth { unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix } unix_listener auth-userdb { mode = 0600 user = vmail #group = vmail } user = dovecot }
serviceauth-workerセクションを次のように変更します。
service auth-worker { user = vmail }
権限を設定します:
chown -R vmail:dovecot /etc/dovecot chmod -R o-rwx /etc/dovecot
dovecotサービスを有効にして再起動します
systemctl enable dovecot systemctl restart dovecot
すべてが正しくセットアップされたら、http://Your_IP_Address/postfixadmin-3.0.2.2
にアクセスして、PostfixAdminバックエンドにログインできるはずです。 最初の仮想ドメインとメールボックスを作成します。
もちろん、CentOS 7でPostfixAdminを使用してメールサーバーを設定する必要はありません。メールサーバーホスティングサービスのいずれかを使用している場合は、専門のLinux管理者に設定を依頼するだけです。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。
PS 。この投稿が気に入った場合は、下のボタンを使用してソーシャルネットワーク上の友達と共有するか、下のコメントセクションにコメントを残してください。ありがとう。