انڈروئد

پوسٹ فکس اور ڈوکوٹ کو انسٹال اور تشکیل کریں

آیت الکرسی کی ایسی تلاوت آپ نے شاید پہلے@ کبهی نہ سنی هوU

آیت الکرسی کی ایسی تلاوت آپ نے شاید پہلے@ کبهی نہ سنی هوU

فہرست کا خانہ:

Anonim

یہ میل سرور سیریز کو ترتیب دینے اور ترتیب دینے کی ہماری دوسری پوسٹ ہے۔ اس پوسٹ میں ہم آپ کو دکھائیں گے کہ ہمارے میل سسٹم کے دو اہم اجزاء پوسٹ فکس اور ڈوکوٹ کو انسٹال اور تشکیل کیسے کریں۔

پوسٹ فکس ایک اوپن سورس میل ٹرانسفر ایجنٹ (ایم ٹی اے) ہے ، جو ای میلز بھیجنے اور وصول کرنے کے لئے استعمال ہوتا ہے۔ ڈوکوٹ ایک IMAP / POP3 سرور ہے اور ہمارے سیٹ اپ میں یہ مقامی ترسیل اور صارف کی توثیق کو بھی سنبھالے گا۔

یہ ٹیوٹوریل اوبنٹو 16.04 کے لئے لکھا گیا تھا ، تاہم ، چھوٹی موٹی ترمیم والے ایک جیسے اقدامات اوبنٹو کے کسی بھی نئے ورژن پر کام کریں۔

شرطیں

اس ٹیوٹوریل کو جاری رکھنے سے پہلے ، یہ یقینی بنائیں کہ آپ بطور صارف sudo مراعات کے ساتھ لاگ ان ہیں۔

پوسٹ فکس اور ڈوکوٹ انسٹال کریں

اوبنٹو ڈیفالٹ ذخیروں میں ڈوکوٹ پیکیج پرانی ہیں۔ imap_sieve ماڈیول سے فائدہ اٹھانے کے imap_sieve ہم ڈوکوٹ کمیونٹی ریپوزٹری سے ڈوکوٹ انسٹال کریں گے۔

درج ذیل ویجیٹ کمانڈ کے ساتھ اپنے مناسب ذرائع کیریننگ میں مخزن جی پی جی کلید شامل کریں۔

wget -O- https://repo.dovecot.org/DOVECOT-REPO-GPG | sudo apt-key add -

ڈوکوٹ کمیونٹی ریپوزٹری کو درج ذیل کمانڈ کا استعمال کرتے ہوئے فعال کریں:

echo "deb https://repo.dovecot.org/ce-2.3-latest/ubuntu/$(lsb_release -cs) $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/dovecot.list

sudo apt update sudo debconf-set-selections <<< "postfix postfix/mailname string $(hostname -f)" sudo debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'" sudo apt install postfix postfix-mysql dovecot-imapd dovecot-lmtpd dovecot-pop3d dovecot-mysql sudo debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'" sudo apt install postfix postfix-mysql dovecot-imapd dovecot-lmtpd dovecot-pop3d dovecot-mysql

پوسٹ فکس کنفیگریشن

ورچوئل میل بکس اور ڈومین استعمال کرنے کے لئے ہم پوسٹ فکس ترتیب دیں گے۔

sql کنفیگریشن فائلوں کو تشکیل دے کر شروع کریں جس سے پوسٹ فکس کی ہدایت ہوگی کہ اس سیریز کے پہلے حصے میں تیار کردہ ، ایس کیو ایل ڈیٹا بیس تک کیسے رسائی حاصل کی جائے۔

sudo mkdir -p /etc/postfix/sql

اپنا ٹیکسٹ ایڈیٹر کھولیں اور درج ذیل فائلیں بنائیں۔

/etc/postfix/sql/mysql_virtual_domains_maps.cf

user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT domain FROM domain WHERE domain='%s' AND active = '1' /etc/postfix/sql/mysql_virtual_alias_maps.cf

user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT goto FROM alias WHERE address='%s' AND active = '1' /etc/postfix/sql/mysql_virtual_alias_domain_maps.cf

user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = 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' /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf

user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = 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' /etc/postfix/sql/mysql_virtual_mailbox_maps.cf

user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1' /etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf

user = postfixadmin password = P4ssvv0rD hosts = 127.0.0.1 dbname = postfixadmin query = SELECT maildir FROM mailbox, alias_domain WHERE alias_domain.alias_domain = '%d' and mailbox.username = CONCAT('%u', '@', alias_domain.target_domain) AND mailbox.active = 1 AND alias_domain.active='1'

ایک بار جب ایس کیو ایل کی تشکیل فائلیں بن گئیں تو ، ورچوئل ڈومینز ، صارفین ، اور عرفی ناموں کے بارے میں معلومات شامل کرنے کے لئے مرکزی پوسٹ فکس ترتیب فائل کو اپ ڈیٹ کریں جو ایس کیو ایل ڈیٹا بیس میں محفوظ ہیں۔

sudo postconf -e "virtual_mailbox_domains = mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf" sudo postconf -e "virtual_alias_maps = mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf" sudo postconf -e "virtual_mailbox_maps = mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf, mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf" پوسٹکنف کمانڈ ترتیب پیرامیٹرز کی اصل اقدار دکھاتا ہے ، کنفیگریشن پیرامیٹر ویلیوز کو تبدیل کرتا ہے ، یا پوسٹ فکس میل سسٹم کے بارے میں ترتیب کی دیگر معلومات دکھاتا ہے۔

مقامی ڈلیوری ایجنٹ آنے والے ای میلز کو صارفین کے میل باکسوں تک پہنچائے گا۔ ڈیوکوٹ کی ایل ایم ٹی پی سروس کو بطور ڈیفالٹ میل ڈیلیوری ٹرانسپورٹ متعین کرنے کے لئے درج ذیل کمانڈ کو چلائیں:

sudo postconf -e "virtual_transport = lmtp:unix:private/dovecot-lmtp"

پہلے تیار کردہ آئی ایس ایل سرٹیفکیٹ کو استعمال کرتے ہوئے ٹی ایل پیرامیٹرز مرتب کریں:

sudo postconf -e 'smtp_tls_security_level = may' sudo postconf -e 'smtpd_tls_security_level = may' sudo postconf -e 'smtp_tls_note_starttls_offer = yes' sudo postconf -e 'smtpd_tls_loglevel = 1' sudo postconf -e 'smtpd_tls_cert_file = /etc/letsencrypt/live/mail.linuxize.com/fullchain.pem' sudo postconf -e 'smtpd_tls_key_file = /etc/letsencrypt/live/mail.linuxize.com/privkey.pem'

تصدیق شدہ ایس ایم ٹی پی کی ترتیبات کو تشکیل دیں اور ڈوکوٹ کو توثیق کرنے کا اختیار دیں:

sudo postconf -e 'smtpd_sasl_type = dovecot' sudo postconf -e 'smtpd_sasl_path = private/auth' sudo postconf -e 'smtpd_sasl_local_domain =' sudo postconf -e 'smtpd_sasl_path = private/auth' sudo postconf -e 'smtpd_sasl_local_domain =' sudo postconf -e 'smtpd_sasl_security_options = noanonymous' sudo postconf -e 'broken_sasl_auth_clients = yes' sudo postconf -e 'smtpd_sasl_auth_enable = yes' sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination'

ہمیں پوسٹ master.cf ماسٹر کنفیگریشن فائل ماسٹر سی۔ ایف میں ترمیم کرنے کی بھی ضرورت ہوگی اور جمع کرانے والی بندرگاہ ( 587 ) اور ایس ایم ٹی ایس پی پورٹ ( 465 ) کو اہل بنانا ہوگا۔

اپنے ٹیکسٹ ایڈیٹر کے ساتھ فائل کھولیں اور مندرجہ ذیل لائنوں کو بے قابو / ترمیم کریں:

/etc/postfix/master.cf

submission inet n - y - - 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=permit_sasl_authenticated, reject # -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 - y - - 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=permit_sasl_authenticated, reject # -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

تبدیلیوں کے اثر انداز ہونے کیلئے پوسٹ فکس سروس دوبارہ شروع کریں۔

sudo systemctl restart postfix

اس مرحلے پر آپ نے پوسٹ فکس سروس کامیابی کے ساتھ تشکیل دے دی ہے۔

ڈوکوٹ کو تشکیل دیں

اس سیکشن میں ہم ڈوکوٹ کو اپنے سیٹ اپ سے ملنے کے لure تشکیل دیں گے۔ یقینی بنائیں کہ آپ پیلے رنگ میں روشنی ڈالی گئی لائنوں میں ترمیم کریں۔

dovecot-sql.conf.ext فائل تشکیل دے کر شروع کریں جو dovecot-sql.conf.ext کو ہدایت کرتی ہے کہ ڈیٹا بیس تک کیسے رسائی حاصل کی جائے اور ای میل اکاؤنٹس کے بارے میں معلومات کیسے حاصل کی جا.۔

/etc/dovecot/dovecot-sql.conf.ext

driver = mysql connect = host=127.0.0.1 dbname=postfixadmin user=postfixadmin password=P4ssvv0rD default_pass_scheme = MD5-CRYPT iterate_query = SELECT username AS user FROM mailbox user_query = SELECT CONCAT('/var/mail/vmail/', maildir) AS home, \ CONCAT('maildir:/var/mail/vmail/', maildir) AS mail, \ 5000 AS uid, 5000 AS gid, CONCAT('*:bytes=', quota) AS quota_rule \ FROM mailbox WHERE username = '%u' AND active = 1 password_query = SELECT username AS user, password FROM mailbox \ WHERE username = '%u' AND active='1'

درست ایس کیو ایل کی اسناد (ڈی بی نام ، صارف اور پاس ورڈ) استعمال کرنا نہ بھولیں۔

اگلا ، conf.d/10-mail.conf فائل میں ترمیم کریں اور درج ذیل متغیرات میں ترمیم کریں:

/etc/dovecot/conf.d/10-mail.conf

… mail_location = maildir:/var/mail/vmail/%d/%n… mail_uid = vmail mail_gid = vmail… first_valid_uid = 5000 last_valid_uid = 5000… mail_privileged_group = vmail… mail_plugins = quota…

توثیق کا کام کرنے کے لئے ، conf.d/10-auth.conf ، درج ذیل لائنوں میں ترمیم کریں اور auth-sql.conf.ext فائل شامل کریں:

/etc/dovecot/conf.d/10-auth.conf

… disable_plaintext_auth = yes… auth_mechanisms = plain login… #!include auth-system.conf.ext !include auth-sql.conf.ext…

conf.d/10-master.conf فائل کو کھولیں ، اور اسے مندرجہ ذیل میں ترمیم کریں:

/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 auth-userdb { mode = 0600 user = vmail group = vmail }… unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix }… }… service auth-worker { user = vmail }… service dict { unix_listener dict { mode = 0660 user = vmail group = vmail } }…

conf.d/10-ssl.conf اور SSL / TLS کو اہل کریں۔

/etc/dovecot/conf.d/10-ssl.conf

… ssl = yes… ssl_cert = Make sure you use the correct path to the SSL certificate files.


If you have followed this series from the beginning, you should already have the fullchain.pem , privkey.pem , dhparam.pem files created on your server. For more information about how to create a free Let's encrypt SSL certificate and Diffie–Hellman key check this tutorial.


Thanks to Nevyn for noticing the problem and providing a solution.
… ssl = yes… ssl_cert = Make sure you use the correct path to the SSL certificate files.


If you have followed this series from the beginning, you should already have the fullchain.pem , privkey.pem , dhparam.pem files created on your server. For more information about how to create a free Let's encrypt SSL certificate and Diffie–Hellman key check this tutorial.


Thanks to Nevyn for noticing the problem and providing a solution.

conf.d/20-imap.conf فائل کھولیں اور imap_quota پلگ ان کو چالو کریں:

/etc/dovecot/conf.d/20-imap.conf

… protocol imap {… mail_plugins = $mail_plugins imap_quota… }…

conf.d/20-lmtp.conf فائل کھولیں اور اسے مندرجہ ذیل میں ترمیم کریں۔

/etc/dovecot/conf.d/20-lmtp.conf

… protocol lmtp { postmaster_address = [email protected] mail_plugins = $mail_plugins }…

conf.d/20-lmtp.conf فائل میں پہلے سے طے شدہ میل باکسوں کی وضاحت کریں:

/etc/dovecot/conf.d/15-mailboxes.conf

… mailbox Drafts { special_use = \Drafts } mailbox Spam { special_use = \Junk auto = subscribe } mailbox Junk { special_use = \Junk }…

کوٹہ سائز کی دو مختلف اقسام ہیں ، ایک پورے ڈومین کے لئے سیٹ کی گئی ہے اور دوسرا صارف فی میل باکس۔ اس سلسلے کے پچھلے حصے میں ہم نے پوسٹ فکس ایڈمن میں کوٹہ سپورٹ کو پہلے ہی فعال کردیا ہے جس کا مطلب ہے کہ کوٹہ کی معلومات پوسٹ فکس ایڈمن ڈیٹا بیس میں محفوظ کی جائے گی۔

اب ہمیں ڈیٹا بیس سے منسلک کرنے ، کوٹہ کی حدود کو سنبھالنے اور اسکرپٹ کو چلانے کے لئے تشکیل دینے کی ضرورت ہے جب صارف کا کوٹہ ایک مخصوص حد سے تجاوز کرجاتا ہے۔ ایسا کرنے کے لئے conf.d/90-quota.conf فائل کو conf.d/90-quota.conf اور اسے مندرجہ ذیل میں ترمیم کریں:

/etc/dovecot/conf.d/90-quota.conf

plugin { quota = dict:User quota::proxy::sqlquota quota_rule = *:storage=5GB quota_rule2 = Trash:storage=+100M quota_grace = 10%% quota_exceeded_message = Quota exceeded, please contact your system administrator. quota_warning = storage=100%% quota-warning 100 %u quota_warning2 = storage=95%% quota-warning 95 %u quota_warning3 = storage=90%% quota-warning 90 %u quota_warning4 = storage=85%% quota-warning 85 %u } service quota-warning { executable = script /usr/local/bin/quota-warning.sh user = vmail unix_listener quota-warning { group = vmail mode = 0660 user = vmail } } dict { sqlquota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext }

ہمیں ڈویک کوٹ کو یہ بھی بتانے کی ضرورت ہے کہ کوٹہ ایس کیو ایل لغت کو کیسے حاصل کیا جائے۔ dovecot-dict-sql.conf.ext فائل کھولیں اور درج ذیل لائنوں میں ترمیم کریں:

/etc/dovecot/dovecot-dict-sql.conf.ext

… connect = host=127.0.0.1 dbname=postfixadmin user=postfixadmin password=P4ssvv0rD… map { pattern = priv/quota/storage table = quota2 username_field = username value_field = bytes } map { pattern = priv/quota/messages table = quota2 username_field = username value_field = messages }… # map { # pattern = shared/expire/$user/$mailbox # table = expires # value_field = expire_stamp # # fields { # username = $user # mailbox = $mailbox # } # }… یقینی بنائیں کہ آپ درست ایس کیو ایل کی اسناد (ڈی بی نام ، صارف اور پاس ورڈ) استعمال کرتے ہیں۔

مندرجہ ذیل شیل اسکرپٹ بنائیں جو صارف کو ای میل بھیجے گا اگر اس کا کوٹہ ایک مخصوص حد سے زیادہ ہو تو:

/usr/local/bin/quota-warning.sh

#!/bin/sh PERCENT=$1 USER=$2 cat << EOF | /usr/lib/dovecot/dovecot-lda -d $USER -o "plugin/quota=dict:User quota::noenforcing:proxy::sqlquota" From: [email protected] Subject: Quota warning Your mailbox is now $PERCENT% full. EOF

مندرجہ ذیل chmod کمانڈ کو چلاتے ہوئے اسکرپٹ کو قابل عمل بنائیں۔

sudo chmod +x /usr/local/bin/quota-warning.sh

تبدیلیوں کے اثر و رسوخ لانے کے لئے آخر کار ڈویک کوٹ سروس دوبارہ شروع کریں۔

sudo systemctl restart dovecot

نتیجہ اخذ کرنا

ابھی آپ کے پاس ایک مکمل طور پر فعال میل سسٹم ہونا چاہئے۔ اس سیریز کے اگلے حصے میں ، ہم آپ کو دکھائیں گے کہ کس طرح Rspamd انسٹال اور انضمام کیا جائے۔

میل سرور پوسٹ فکس ڈوکوٹ

یہ پوسٹ میل سرور سیریز کو ترتیب دینے اور ترتیب دینے کا ایک حصہ ہے۔

اس سلسلے میں دیگر پوسٹس:

Post پوسٹ فکس ایڈمن کے ساتھ ایک میل سرور مرتب کریں Post پوسٹ فکس اور ڈوکوٹ کو انسٹال اور تشکیل کریں R آر ایس پی ایم ڈی کو انسٹال اور انٹیگریٹ کریں ound راؤنڈ کیوب ویب میل انسٹال اور تشکیل کریں