このチュートリアルでは、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