Image

(अंतिम परिवर्तन: 04.05.2024)

Debian 12 Linux Mail Server (Nginx, MariaDB, PHP, Postfix (DNSBL, DKIM, SPF), Dovecot, PostfixAdmin, SpamAssassin (Base, Self-learning by Spam folder), Sieve, Quota, Fail2Ban, Roundcube (Calendar, Managesieve), Fetchmail, Imapsync)

यह मार्गदर्शिका दिखाती है कि लिनक्स डेबियन 12 के साथ वीपीएस पर एक पूर्ण मेल सर्वर कैसे स्थापित किया जाए। लक्ष्य एक वेब इंटरफेस के माध्यम से डोमेन और मेलबॉक्स को प्रबंधित करने की क्षमता वाला एक तैयार कॉर्पोरेट सर्वर प्राप्त करना है। हम बुनियादी मेल सेवाएँ, पोस्टफ़िक्सएडमिन एडमिनिस्ट्रेशन टूल स्थापित करेंगे, जिसके साथ आप ब्राउज़र के माध्यम से मेल के साथ सुविधाजनक काम के लिए डोमेन, मेल पते, साथ ही राउंडक्यूब वेब इंटरफ़ेस जोड़ सकते हैं। इस गाइड में हम रूट यूजर के रूप में इंस्टॉल कर रहे हैं, यदि आपके पास सामान्य यूजर है, तो कमांड का उपयोग करें sudo.


मेल और प्रशासन प्रणाली के वेब इंटरफ़ेस की उपस्थिति:

सबसे अक्सर पूछे जाने वाले प्रश्न:

  • मैं स्पैम और वायरस से सुरक्षा के लिए कैस्परस्की सिक्योरिटी खरीदना चाहता हूं, क्या आप इसे मेरे लिए इंस्टॉल करेंगे?

    हां, यदि आप मेल सर्वर असेंबली और कैस्परस्की सिक्योरिटी के लिए लाइसेंस का ऑर्डर देते हैं, तो इंस्टॉलेशन और कॉन्फ़िगरेशन निःशुल्क है। ऑर्डर फॉर्म में license जोड़ें और मेलबॉक्स की आवश्यक संख्या बताएं।

  • क्या इस सर्वर में संरचना के संपूर्ण पदानुक्रम का सम्मान करते हुए सभी अक्षरों और फ़ोल्डरों को स्थानांतरित करने के लिए माइग्रेशन टूल है?

    हाँ, imapsync सर्वर पर स्थापित है, जो आपको मूल संरचना को बनाए रखते हुए सभी मेलबॉक्स और सभी फ़ोल्डरों को स्थानांतरित करने की अनुमति देता है। आपको केवल मेलबॉक्स वेब इंटरफ़ेस में सॉर्टिंग नियमों को कॉन्फ़िगर करने की आवश्यकता होगी।

  • क्या मुझे तुरंत एक तैयार सर्वर प्राप्त होगा और क्या वे प्रशासनिक इंटरफ़ेस में मेलबॉक्स बनाने के बाद काम करेंगे?

    हां, सर्वर पूरी तरह से कॉन्फ़िगर है और काम करने के लिए तैयार है, आपको बस डीएनएस संपादक में एमएक्स रिकॉर्ड पंजीकृत करना होगा और अपने डोमेन के लिए मेल सर्वर का आईपी पता निर्दिष्ट करना होगा।

  • यदि आपके पास DNS रिकॉर्ड्स की सही कॉन्फ़िगरेशन, मेलबॉक्स माइग्रेशन इत्यादि के बारे में प्रश्न हैं, तो क्या आप ये सेटिंग्स कर सकते हैं?

    हां, चूंकि सभी के पास अलग-अलग डोमेन नाम हैं, उदाहरण के लिए सर्वर एक परीक्षण डोमेन के साथ आता है, आपको अपना खुद का जोड़ना होगा, इसमें अधिक समय नहीं लगता है और यदि आवश्यक हो, तो हम आपके लिए ये सेटिंग्स कर सकते हैं, आपको बस इसकी आवश्यकता होगी डोमेन नाम प्रदान करने के लिए.

  • क्या मैं स्वयं सेवा सेटिंग्स बदल सकता हूँ, साथ ही अपनी स्वयं की सेटिंग्स स्थापित कर सकता हूँ, उदाहरण के लिए, एक मेल सर्वर पर कई साइटों को होस्ट कर सकता हूँ?

    हाँ यकीनन। भुगतान के बाद, आपको मेलबॉक्स के प्रबंधन के लिए विवरण, लॉगिन और पासवर्ड के साथ-साथ पूर्ण रूट एक्सेस के अनुसार कॉन्फ़िगर किया गया एक सर्वर प्राप्त होता है। दी गई मार्गदर्शिका सेटअप और परीक्षण दोनों के लिए समय को काफी कम कर देती है, और हमने वास्तव में क्या सेट किया है वह विवरण में दिया गया है। मुख्य लाभ बिना किसी प्रतिबंध के कार्यशील मेल सर्वर कॉन्फ़िगरेशन है।

  • हम चाहते हैं कि सारा डेटा हमारे पास रहे। क्या आप यह सारा सेटअप हमारे उपकरण पर कर सकते हैं?

    हां, आप अपने उपकरण पर इस कॉन्फ़िगरेशन की स्थापना और कॉन्फ़िगरेशनlink.

  • जैसा कि हम समझते हैं, तैयार असेंबली केवल वीपीएस सर्वर पर पेश की जाती है, लेकिन हम कई कारणों से आपसे वीडीएस सर्वर ऑर्डर करना चाहेंगे।

    हम वीडीएस सर्वर (डेबियन 12) के लिए एक बार में एक वर्ष के लिए भुगतान करके इस विवरण को कॉन्फ़िगर कर सकते हैं। भुगतान की तारीख से सेटअप में 2-3 दिन लगेंगे।

पूर्व-कॉन्फ़िगर सर्वर का कॉन्फ़िगरेशन ऑर्डर फॉर्म पर उपलब्ध है।

1. सॉफ़्टवेयर पैकेज अद्यतन करें

apt update
apt upgrade

2. आइए LEMP इंस्टॉल करें

LEMP की स्थापना एक असेंबली में वर्णित है; हमें वेब मेल इंटरफ़ेस, प्रशासन और मेलबॉक्स प्रबंधन प्रणाली को संचालित करने के लिए भी इस बंडल की आवश्यकता होगी सेटिंग्स संग्रहीत करने के लिए डेटाबेस के रूप में।

3. आइए मेल सेवाओं के लिए फ़ायरवॉल स्थापित करें

iptables -I INPUT 1 -p tcp --match multiport --dports 25,110,143,465,587,993,995 -j ACCEPT

आइए नियम बनाए रखें 

apt install iptables-persistent
netfilter-persistent save

4. स्थापित करें और कॉन्फ़िगर करें PostfixAdmin

यह पैकेज आपको कंसोल का सहारा लिए बिना वेब इंटरफ़ेस के माध्यम से हमारे मेल सर्वर को प्रबंधित करने की अनुमति देता है।

4.1 आइए पैकेज को ही इंस्टॉल करें

apt install php-mysql php-mbstring php-imap
systemctl restart php8.2-fpm
wget https://sourceforge.net/projects/postfixadmin/files/latest/download -O postfixadmin.tar.gz
mkdir /usr/share/nginx/html/postfixadmin
tar -C /usr/share/nginx/html/postfixadmin -xvf postfixadmin.tar.gz --strip-components 1
mkdir /usr/share/nginx/html/postfixadmin/templates_c
chown -R www-data:www-data /usr/share/nginx/html/postfixadmin

4.2 अब डेटाबेस बनाते हैं:

mysql -u root -p

> CREATE DATABASE postfix DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
> GRANT ALL ON postfix.* TO 'postfix'@'localhost' IDENTIFIED BY 'postfix1HuRaf92';
> \q

4.3 आइए निम्नलिखित सामग्री के साथ एक कॉन्फ़िगरेशन फ़ाइल बनाएं:

vi /usr/share/nginx/html/postfixadmin/config.local.php


$CONF['configured'] = true;
$CONF['default_language'] = 'ru';
$CONF['database_password'] = 'postfix1HuRaf92';
$CONF['emailcheck_resolve_domain']='NO';

?>

ब्राउज़र खोलें और पता दर्ज करें http://host-ip/postfixadmin/public/setup.php

आपको एक पासवर्ड लेकर आना होगा और फिर हैश जेनरेट करने के लिए जनरेट सेटअप_पासवर्ड हैश बटन पर क्लिक करना होगा।

आइए पूरी लाइन को कॉपी करें और फ़ाइल में जोड़ें:

 vi /usr/share/nginx/html/postfixadmin/config.local.php

सेव करने के बाद, आपको पेज http://host-ip/postfixadmin/public/setup.php को रीफ्रेश करना होगा और निर्दिष्ट पासवर्ड के साथ लॉग इन करना होगा। स्थापना पूर्ण हुई PostfixAdmin.

आगे हमें एक सुपर यूजर (पूर्ण अधिकारों वाला उपयोगकर्ता) जोड़ना होगा। एडमिन फ़ील्ड में आपको मेल के रूप में एक उपयोगकर्ता निर्दिष्ट करना होगा root@mail-domain.tld

अब पेज http://host-ip/postfixadmin/public/login.php पर जाएं और बनाए गए उपयोगकर्ता का डेटा दर्ज करें:

5. सेवा को स्थापित और कॉन्फ़िगर करें Postfix

apt install postfix postfix-mysql

इंस्टॉलेशन प्रक्रिया के दौरान एक विंडो दिखाई देगी Postfix Configuration — चलो बात छोड़ो Internet Site

5.1 आइए स्वेटबॉक्स फ़ोल्डरों के साथ काम करने के लिए एक समूह और उपयोगकर्ता बनाएं

groupadd -g 1024 vmail
useradd -d /home/mail -g 1024 -u 1024 vmail -m
chown vmail:vmail /home/mail

5.2 आइए कॉन्फ़िगरेशन फ़ाइल में परिवर्तन करें

 vi /etc/postfix/main.cf

mydestination = localhost.$mydomain, localhost, localhost.localdomain

...

inet_protocols = ipv4

...

smtpd_tls_cert_file = /etc/ssl/mail/public.pem
smtpd_tls_key_file = /etc/ssl/mail/private.key

इसके बाद, कॉन्फ़िगरेशन फ़ाइल के अंत में निम्नलिखित पंक्तियाँ जोड़ें:

 /etc/postfix/main.cf

virtual_mailbox_base = /home/mail
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 1024
virtual_uid_maps = static:1024
virtual_gid_maps = static:1024
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1

smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

smtp_use_tls = yes
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_helo_required = yes

आइए डेटाबेस तक पहुँचने के लिए उपनाम सेटिंग्स के साथ एक फ़ाइल बनाएँ

vi /etc/postfix/mysql_virtual_alias_maps.cf

user = postfix
password = postfix1HuRaf92
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active = '1'

आइए डेटाबेस तक पहुँचने के लिए डोमेन सेटिंग्स के साथ एक फ़ाइल बनाएँ

vi /etc/postfix/mysql_virtual_domains_maps.cf

user = postfix
password = postfix1HuRaf92
hosts = localhost
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%u'

आइए डेटाबेस तक पहुँचने के लिए मेलबॉक्स सेटिंग्स के साथ एक फ़ाइल बनाएँ

vi /etc/postfix/mysql_virtual_mailbox_maps.cf

user = postfix
password = postfix1HuRaf92
hosts = localhost
dbname = postfix
query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active = '1'

आइए मुख्य कॉन्फ़िगरेशन फ़ाइल खोलें और पंक्ति के बिल्कुल अंत में जोड़ें:

vi /etc/postfix/master.cf

submission   inet  n  -  n  -  -  smtpd
  -o smtpd_tls_security_level=may
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=/var/spool/postfix/private/auth
  -o smtpd_sasl_security_options=noanonymous
  -o smtpd_sasl_local_domain=$myhostname
smtps   inet  n  -  n  -  -  smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
dovecot   unix  -  n  n  -  -  pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}

आइए कमांड का उपयोग करके सुरक्षा प्रमाणपत्र बनाएं: 

mkdir -p /etc/ssl/mail
openssl req -new -x509 -days 1461 -nodes -out /etc/ssl/mail/public.pem -keyout /etc/ssl/mail/private.key -subj "/C=RU/ST=SPb/L=SPb/O=Global Security/OU=IT Department/CN=mail-domain.tld"

इस मामले में, हमने एक स्व-हस्ताक्षरित प्रमाणपत्र बनाया है; इसे बिना किसी सुरक्षा चेतावनी के काम करने के लिए, आपको एक SSL प्रमाणपत्र खरीदना होगा।.

अंतिम सेवा सेटअप:

systemctl enable postfix
systemctl restart postfix

6. Dovecot को स्थापित और कॉन्फ़िगर करें

apt install dovecot-imapd dovecot-pop3d dovecot-mysql

6.1 मेल भंडारण की स्थापना

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

mail_location = maildir:/home/mail/%d/%u/

6.2 प्राधिकरण की स्थापना

vi /etc/dovecot/conf.d/10-master.conf

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
  }
}

डेटाबेस के लिए प्राधिकरण सेटिंग्स बदलें

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

#!include auth-system.conf.ext
!include auth-sql.conf.ext

आइए डिफ़ॉल्ट लाइन पर टिप्पणी करें और टेक्स्ट में sql शब्द के साथ लाइन को सक्रिय करें।

6.3 एसएसएल प्रमाणपत्र स्थापित करना

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

ssl = required
ssl_cert =
ssl_key =

जब उपयोगकर्ता पहली बार मेल में लॉग इन करता है तो आइए फ़ोल्डरों का स्वचालित निर्माण सेट करें।

vi /etc/dovecot/conf.d/15-lda.conf

lda_mailbox_autocreate = yes

6.4 आइए डेटाबेस से एक कनेक्शन स्थापित करें

vi /etc/dovecot/conf.d/auth-sql.conf.ext

passdb {
  …
  args = /etc/dovecot/dovecot-sql.conf.ext
}

userdb {
  …
  args = /etc/dovecot/dovecot-sql.conf.ext
}

6.5 कॉन्फ़िगरेशन फ़ाइल में सेटिंग्स जोड़ें

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

driver = mysql
connect = host=localhost dbname=postfix user=postfix password=postfix1HuRaf92
default_pass_scheme = MD5-CRYPT
password_query = SELECT password FROM mailbox WHERE username = '%u'
user_query = SELECT maildir, 1024 AS uid, 1024 AS gid FROM mailbox WHERE username = '%u'
user_query = SELECT CONCAT('/home/mail/',LCASE(`domain`),'/',LCASE(`maildir`)), 1024 AS uid, 1024 AS gid FROM mailbox WHERE username = '%u'

6.6 आइए उस इंटरफ़ेस को कॉन्फ़िगर करें जिस पर सेवा चलेगी

vi /etc/dovecot/dovecot.conf

listen = *

अंतिम सेवा सेटअप

systemctl enable dovecot
systemctl restart dovecot

7. एक डोमेन और मेलबॉक्स सेट करना

आइए वेब इंटरफ़ेस पर जाएं और मेल के साथ काम करने के लिए डोमेन को कॉन्फ़िगर करें: http://host-ip/postfixadmin/public/.

इसके बाद, शीर्ष पर मेनू में एक डोमेन जोड़ें:

डोमेन जोड़ने के बाद, हम एक मेलबॉक्स बनाएंगे।

8. हम वेब मेल सेवा स्थापित और कॉन्फ़िगर करेंगे, Roundcube

पैकेज का नवीनतम एलटीएस संस्करण डाउनलोड करें और इसे हमारे सर्वर पर तैनात करें

wget https://github.com/roundcube/roundcubemail/releases/download/1.6.2/roundcubemail-1.6.2-complete.tar.gz
mkdir /usr/share/nginx/html/webmail
tar -C /usr/share/nginx/html/webmail -xvf roundcubemail-*.tar.gz --strip-components 1
cp /usr/share/nginx/html/webmail/config/config.inc.php.sample /usr/share/nginx/html/webmail/config/config.inc.php
chown -R www-data:www-data /usr/share/nginx/html/webmail

कॉन्फ़िगरेशन फ़ाइल खोलें और संपादित करें

vi /usr/share/nginx/html/webmail/config/config.inc.php

$config['db_dsnw'] = 'mysql://roundcube:roundcube1Yusm24M@localhost/roundcubemail';
$config['enable_installer'] = true;

आइए पैरामीटर भी ढूंढें और इसे खाली करें: $config['smtp_pass'] = '';  

आइए इस कॉन्फ़िगरेशन फ़ाइल में निम्नलिखित समय जोड़ें:

vi /usr/share/nginx/html/webmail/config/config.inc.php

$config['drafts_mbox'] = 'Drafts';
$config['junk_mbox'] = 'Junk';
$config['sent_mbox'] = 'Sent';
$config['trash_mbox'] = 'Trash';
$config['create_default_folders'] = true;

आइए मारियाडीबी में राउंडक्यूबमेल के लिए एक डेटाबेस बनाएं, जो कॉन्फ़िगरेशन फ़ाइल में निर्दिष्ट है:

mysql -uroot -p

> CREATE DATABASE roundcubemail DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
> GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY 'roundcube1Yusm24M';
> quit

डेटाबेस आयात करना:

mysql -uroot -p roundcubemail < /usr/share/nginx/html/webmail/SQL/mysql.initial.sql

आइए आवश्यक php पैकेज स्थापित करें:

apt install php-pear php-intl php-ldap php-net-smtp php-gd php-imagick php-zip php-curl php-dom php-xml php-mcrypt

यदि php-mcrypt इंस्टॉल करते समय कोई त्रुटि आती है, तो इसे मैन्युअल रूप से इंस्टॉल करें

apt install php-dev libmcrypt-dev
pecl channel-update pecl.php.net
pecl install mcrypt-1.0.5

vi /etc/php/8.2/fpm/conf.d/99-mcrypt.ini

extension=mcrypt.so

आइए php सेवा को कॉन्फ़िगर करें:

vi /etc/php/8.2/fpm/php.ini

date.timezone = "Europe/Moscow"
post_max_size = 50M
upload_max_filesize = 50M

50 मेगाबाइट की सीमाएं एक उदाहरण के रूप में दिखाई गई हैं, आप अपना खुद का सेट कर सकते हैं, वे आपको पत्र में बड़े अनुलग्नक संलग्न करने की अनुमति देंगे।

systemctl restart php8.2-fpm

आइए nginx में ही सीमाएं तय करें

vi /etc/nginx/nginx.conf

http {

    ...
    client_max_body_size 50M;
    ...
systemctl restart nginx

इसके बाद, हम लिंक का उपयोग करके ब्राउज़र में इंस्टॉलेशन जारी रखेंगे http://host-ip/webmail/installer/

निर्देशों का पालन करते हुए, राउन्क्यूब स्थापित करें, और फिर अगले पृष्ठ पर हम जांचते हैं कि सभी आइटम ठीक स्थिति में हैं। यह प्रतिष्ठापन पूरा हुआ।

इंस्टॉलर को हटाएं और कॉन्फ़िगरेशन फ़ाइल में इंस्टॉलेशन को अक्षम करें

rm -rf /usr/share/nginx/html/webmail/installer
vi /usr/share/nginx/html/webmail/config/config.inc.php

$config['enable_installer'] = false;

लिंक http://host-ip/webmail/ का अनुसरण करें और अपने लॉगिन के रूप में अपने पूर्ण ईमेल पते और पासवर्ड का उपयोग करके अपने वेबमेल में लॉग इन करें।

9. सेटअप का अंतिम चरण

हमारा वीपीएस सर्वर मेल के साथ काम करने के लिए कॉन्फ़िगर किया गया है, अब हमें डोमेन नाम सेटिंग्स में हमारे सर्वर के आईपी पते के साथ एमएक्स रिकॉर्ड को पंजीकृत करने या बदलने की आवश्यकता है:

В DNS संपादकपंक्तियाँ इस तरह दिखेंगी:

रिकॉर्ड पंजीकृत होने के बाद, आपको आईपी पते (पीटीआर) के लिए रिवर्स ज़ोन निर्दिष्ट करना होगा

Linux Debain 12 कॉर्पोरेट मेल सर्वर उपयोग के लिए तैयार है, असेंबली में नीचे सूचीबद्ध सेवाओं और मापदंडों की स्थापना भी शामिल है:




No Comments Yet