GNU/Linux >> Linux の 問題 >  >> Debian

Debian9でPostfixAdminを使用してメールサーバーを設定する

このチュートリアルでは、Debian9VPSでPostfixAdminを使用してメールサーバーを設定する方法を示します。 Postfix、Dovecot、MariaDBを使用してメールサーバーを構成します。

PostfixAdminは、Postfixが使用するデータベースへのWebベースのGUIです。 Postfixadminを使用すると、ドメイン、電子メールアカウント、エイリアス、クォータの追加や削除など、メールサーバーを簡単に管理できます。 WebベースのGUIにより、これらの機能や機能にアクセスしやすくなり、端末から離れているときに情報を変更したりアクセスしたりできるようになります。始めましょう。

前提条件:

  • Debian 9 VPS
  • root権限でのSSHアクセス、またはsudo権限を持つユーザーへのアクセス

ステップ1:SSH経由でログインし、システムを更新する

Debian 9 VPSにログインします:

#ssh root @ IP_Address -p Port_number 

次のコマンドを使用して、サーバーに適切なDebianバージョンがインストールされているかどうかを確認できます。

#lsb_release -a 

次の出力が得られるはずです:

ディストリビューターID:Debian説明:Debian GNU / Linux 9.9(ストレッチ)リリース:9.9コードネーム:ストレッチ

次に、次のコマンドを実行して、サーバーにインストールされているすべてのパッケージが最新の利用可能なバージョンに更新されていることを確認します。

#apt update &&apt upgrade 

ステップ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:MariaDBサーバーをインストールする

PostfixAdminは、MySQL / MariaDB、PostgreSQL、およびSQLiteデータベースシステムをサポートします。このチュートリアルでは、データベースストレージエンジンとしてMySQL/MariaDBを使用します。

#apt install mariadb-server 

MariaDBサービスを開始し、起動時に開始できるようにするには、次のコマンドを実行します。

#systemctl start mariadb#systemctl enable mariadb 

これで、MySQLのrootパスワードを使用したくない場合は、次の手順をスキップできます。

#mysql_secure_installation 

プロンプトが表示されたら、ガイドに従って以下の質問に答えてください。

 rootの現在のパスワードを入力してください(noneの場合はEnter):デフォルトのパスワードがないので[Enter]キーを押すだけですrootパスワードを設定しますか? [Y / n]:Y新しいパスワード:パスワードを入力してください新しいパスワードを再入力してください:パスワードを繰り返してください匿名ユーザーを削除しますか? [Y / n]:Yrootログインをリモートで禁止しますか? [Y / n]:Yテストデータベースを削除してアクセスしますか? [Y / n]:Yリロード特権テーブルは今ですか? [Y / n]:Y 

上記の手順を実行すると、MySQLrootユーザーのパスワードが新しく設定されます。

次に、このコマンドを実行してMySQLシェルにアクセスします。

#mysql -u root -p 

安全なインストールスクリプトを実行した場合は、rootパスワードを忘れずに入力してください。

PostfixAdminのデータベースの作成に進みましょう:

 MariaDB [(none)]> CREATE DATABASE postfixadmin; MariaDB [(none)]>postfixadmin。*TO'postfixadmin' @'localhost' IDENTIFIED BY'M0d1fyth15'; MariaDB [(none)]>FLUSHにすべての特権を付与PRIVILEGES; MariaDB [(なし)]> \ q 

データベースユーザーのパスワードを適切な一意のパスワードに置き換えてください。

ステップ4:PHPと必要なすべてのPHPモジュールをインストールする

これは

 apt install apache2 php php-mbstring php-imap php-mysql libapache2-mod-php7.0 

ステップ5:Postfixをインストールする

以下のコマンドでPostfixをインストールします:

#apt install postfix-mysql 


インターネットサイトを選択し、[OK]をクリックして続行します。

システムメール名の入力を求められます。これがホスト名と同じであることを確認してください。

インストールが完了したら、構成ファイルを作成する必要があります:

#mkdir -p / etc / postfix / sql / 

ここから、いくつかの構成ファイルが作成されます。ここで異なるすべての値を必要な値に置き換えてください。そうしないと、構成が機能しない可能性があります。

#nano /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf 
 user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT goto FROM alias、alias_domain WHERE alias_domain.alias_domain ='%d' and alias.address =CONCAT('@'、alias_domain.target_domain)AND alias.active =1 AND alias_domain.active ='1' 
#nano /etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf 
 user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT maildir FROM メールボックス、alias_domain WHERE alias_domain.alias_domain ='%d'およびmailbox.username =CONCAT('%u'、'@'、alias_domain.target_domain)ANDメールボックス.active =1 AND alias_domain.active ='1' 
#nano /etc/postfix/sql/mysql_virtual_alias_domain_maps.cf 
 user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT goto FROM alias、alias_domain WHERE alias_domain.alias_domain ='%d' and alias.address =CONCAT('%u'、'@'、alias_domain.target_domain)AND alias .active =1 AND alias_domain.active ='1' 
#nano /etc/postfix/sql/mysql_virtual_alias_maps.cf 
 user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT goto FROM alias WHERE address ='%s' AND active ='1' 
#nano /etc/postfix/sql/mysql_virtual_domains_maps.cf 
 user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT domain FROM domain WHERE domain ='%s' AND active ='1' 
#nano /etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cf 
 user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery=メールボックスからクォータを選択WHEREユーザー名='%s' AND active ='1' 
#nano /etc/postfix/sql/mysql_virtual_mailbox_maps.cf 
 user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT maildir FROM namespace WHERE username ='%s' AND active ='1' 

上記の構成ファイルでは、パスワードとして「m0d1fyth15」を使用しています。自分のパスワードに変更してください。

それでは、main.cfを編集しましょう。 次のコマンドを呼び出してファイルを作成します。

 postconf -e "myhostname =$(hostname -f)" postconf -e "virtual_mailbox_domains =proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf" postconf -e "virtual_alias_maps =proxy:mysql:/ etc / postfix / sql / mysql_virtual_alias_maps.cf、proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf、proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf "postconf -e" virtual_mailbox_maps =proxy:mysql:/ etc /postfix/sql/mysql_virtual_mailbox_maps.cf、proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf "postconf -e" smtpd_tls_cert_file =/etc/ssl/certs/ssl-cert-snakeoil.pem "postconf -e" smtpd_tls_ =/etc/ssl/private/ssl-cert-snakeoil.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 
 smtp inet n --y --- smtpd#smtp inet n --y --1 postscreen#smtpd pass --- y --- smtpd#dnsblog unix --- y --0 dnsblog#tlsproxy unix --- y --0 tlsproxysubmission inet n- y --- smtpd-o syslog_name =postfix / subject-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_client_restrictions =$ mua_client_restrictions#-o smtpd_hel o smtpd_recipient_restrictions =#-o smtpd_relay_restrictions =permit_sasl_authenticated、reject-o smtpd_client_restrictions =permit_sasl_authenticated、reject-o milter_macro_daemon_name =ORIGINATINGsmtps inet n --y --- smtpd-o o smtpd_reject_unlisted_recipient =no-o smtpd_client_restrictions =permit_sasl_authenticated、reject#-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 

ステップ6:Dovecotをインストールする

以下のコマンドを使用してDovecotをインストールします:

#apt install dovecot-mysql 

/etc/dovecot/conf.d/10-mail.confファイルを開き、次の値を変更します。

#nano /etc/dovecot/conf.d/10-mail.conf 
 mail_location =maildir:/ var / vmail /%d /%nmail_privileged_group =mailmail_uid =vmailmail_gid =mailfirst_valid_uid =150last_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 =mysqlconnect =host =localhost dbname =postfixadmin user =postfixadmin password =M0d1fyth15default_pass_scheme =MD5-CRYPTpassword_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 namespace WHERE username ='%u'AND active ='1'user_query =SELECT'/ var / vmail /%d /%u' as home、'maildir:/ var / vmail /%d /%u' as mail、150 AS uid、8 AS gid、concat('dirsize:storage ='、quota)ASクォータFROMメールボックスWHEREユーザー名='%u' ANDアクティブ='1'

ここでも、パスワードとその他の異なる値を忘れずに置き換えてください。

/etc/dovecot/conf.d/10-ssl.confファイルで、SSLサポートを有効にします。

#nano /etc/dovecot/conf.d/10-ssl.conf 
 ssl =yes 

/etc/dovecot/conf.d/15-lda.confファイルを開き、postmaster_addressを設定します メールアドレス。

#nano /etc/dovecot/conf.d/15-lda.conf 
 postmaster_address [email protected] 

/etc/dovecot/conf.d/10-master.confファイルを開き、service lmtpセクションを見つけて、次のように変更します。

#nano /etc/dovecot/conf.d/10-master.conf 
 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} 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 

ステップ7:PostfixAdminをインストールする

このステップでは、GithubからPostfixAdminをダウンロードし、/optに保存します。 ディレクトリ。

#apt install git#cd / opt#git clone https://github.com/postfixadmin/postfixadmin.git# ln -s / opt / postfixadmin / public / / var / www / html / mailadmin 

これらの行を/opt/postfixadmin/config.local.php

に挿入します
#nano /opt/postfixadmin/config.local.php 
 <?php $ CONF ['database_type'] ='mysqli'; $ CONF ['database_host'] ='localhost'; $ CONF ['database_user'] ='postfixadmin'; $ CONF ['database_password'] ='M0d1fyth15'; $ CONF ['database_name'] ='postfixadmin'; $ CONF ['configured'] =true;?> 
#mkdir / opt / postfixadmin / templates_c#chown -R www-data:/ opt / postfixadmin 

http://1.2.3.4/mailadmin/setup.phpに接続し、1.2.3.4をサーバーの実際のIPアドレスに置き換えてください。すべて問題がなければ、下にスクロールしてセットアップパスワードを作成します。

[ハッシュの生成]をクリックすると、次のように表示されます:

setup_passwordを貼り付ける必要があります 上の図に示すように/opt/postfixadmin/config.local.phpにハッシュすると、次のようになります

 <?php $ CONF ['database_type'] ='mysqli'; $ CONF ['database_host'] ='localhost'; $ CONF ['database_user'] ='postfixadmin'; $ CONF ['database_password'] ='M0d1fyth15'; $ CONF ['database_name'] ='postfixadmin'; $ CONF ['configured'] =true; $ CONF ['setup_password'] ='d7b5b4ed7e91d81f246d802a6f09474a:69478ddf65feb4036215cb2c6f48c3df 

ファイルを保存すると、セットアップページに戻ってPostfixAdmin管理者ユーザーを作成できます。そのページのセットアップパスワードは、前の手順で使用したものと同じです。必要に応じて他の空白を埋めてから、[管理者を追加]ボタンをクリックします。

これで、http://1.2.3.4/mailadmin/login.phpにアクセスできます。 ドメインを追加し、そこにメールアドレスを作成します。

それでおしまい!これで、Debian9サーバーでPostfixAdminがセットアップされて実行されました。

もちろん、メールサーバーホスティングサービスのいずれかを使用している場合は、Debian 9でPostfixAdminを使用してメールサーバーを設定する必要はありません。その場合は、専門のLinux管理者にメールサーバーの設定を依頼するだけです。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。

PS。 Debian 9でPostfixAdminを使用してメールサーバーを設定する方法に関するこの投稿が気に入った場合、または役立つと思われた場合は、共有ショートカットを使用してソーシャルネットワーク上の友達と共有するか、コメントセクションにコメントを残してください。下。ありがとう。


Debian
  1. Debian11サーバーでSFTPサーバーをセットアップする方法

  2. CentOS7でPostfixAdminとMariaDBを使用してメールサーバーをセットアップする

  3. CentOS7でPostfixAdminを使用してメールサーバーを設定する方法

  1. PostfixAdminを使用してメールサーバーを設定する

  2. Debian10でUFWを使用してファイアウォールを設定する方法

  3. Ubuntu20.04にPostfixAdminを使用してメールサーバーをインストールする方法

  1. Debian9でUFWを使用してファイアウォールを設定する方法

  2. Debian9でOpenVPNサーバーをセットアップする方法

  3. Debian10でMinecraftサーバーをセットアップする方法