الدرس الرابع:تثبيت خادم البريد الإلكتروني

Spread the love
بسم الله الرحمن الرحيم
اللهم علمنا ما ينفعنا و انفعنا بما علمتنا إنك أنت العليم الحكيم
أما بعد…
اخواني أخواني في الله،اعتذر لكم عن انقطاعي عن التدوين في اليومين الماضيين و ذلك ﻷسباب خاصة جدا،و لكن الحمد لله عدنا و العود أحمد.

درس اليوم بحول الله تعالى سيكون حول تثبيت خادم البريد الإلكتروني للسيرفر،قم بالإتصال بالسيرفر عن طريق خدمة ssh و ﻻ أعتقد أنه يوجد أحد ﻻ يعرف الطريقة،بعدها طبق أمر التثبيت التالي:

sudo apt-get install postfix-mysql

ستظهر لك شاشة حوار اختر منها without configuration(الخيار الأول)،و اضغط enter،الآن سنقوم بتحرير الملف الخاص بالإعدادات و ذلك عن طريق الأمر التالي:

vi /etc/postfix/master.cf

في السطر رقم 11 تأكد أن chroot الخاص ب smtp ﻻ يحوي أية حروف بل يحوي على ( – ) وفقط،إن كان هنالك أي حرف أو رمز قم بتغييره إلى – و قم بحفظ الملف.

الآن توجه إلى phpmyadmin الذي قمنا بتثبيته،إن لم تكن قد قمت بذلك فالأجدر بك قراءة هذا الدرس قبل قراءة هذا الدرس.الآن قم بإنشاء قاعدة بيانات باسم postfix بعدها توجه إلى privileges و قم بإنشاء مستخدم جديد،في حقل اسم المستخدم ضع postfix،و في حقل الهوست(Host) ضع localhost و قم باختيار كلمة المرور.
في الجزء privileges قم باختيار Grant all privileges on database postfix،بعدها اضغط على go من أجل انشاء المستخدم.
الأن سنقوم بانشاء جداول قاعدة البيانات،و ذلك عن طريق الكود التالي:

USE postfix;
CREATE TABLE `domaines` (
`domaine` varchar(255) NOT NULL default ”,
`stat` tinyint(1) NOT NULL default ‘1’,
PRIMARY KEY  (`domaine`)
) ENGINE=MyISAM;
CREATE TABLE `comptes` (
`email` varchar(255) NOT NULL default ”,
`password` varchar(255) NOT NULL default ”,
`quota` int(10) NOT NULL default ‘0’,
`stat` tinyint(1) NOT NULL default ‘1’,
`imap` tinyint(1) NOT NULL default ‘1’,
`pop3` tinyint(1) NOT NULL default ‘1’,
PRIMARY KEY  (`email`)
) ENGINE=MyISAM;
CREATE TABLE `alias` (
`source` varchar(255) NOT NULL default ”,
`destination` text NOT NULL,
`stat` tinyint(1) NOT NULL default ‘1’,
PRIMARY KEY  (`source`)
) ENGINE=MyISAM;

في نفس المسار etc/postfix/ نقوم بانشاء الملف mysql-virtual_domaines.cf و نضع فيه التالي:

hosts = 127.0.0.1
user = postfix
password =Mysql Postfix Password
dbname = postfix
select_field = ‘virtual’
table = domaines
where_field = domaine
additional_conditions = AND etat=1

الأن ننشئ الملف mysql-virtual_comptes.cf و نضع فيه التالي

hosts = 127.0.0.1user = postfixpassword = Mysql Postfix Passworddbname = postfixtable = comptesselect_field = CONCAT(SUBSTRING_INDEX(email,’@’,-1),’/’,SUBSTRING_INDEX(email,’@’,1),’/’)where_field = emailadditional_conditions = AND etat=1

الآن ننشئ الملف mysql-virtual_aliases.cf و نضع فيه التالي

hosts = 127.0.0.1
user = postfix
password =Mysql Postfix Password
dbname = postfix
table = alias
select_field = destination
where_field = source
additional_conditions = AND etat=1

الآن ننشئ الملف mysql-virtual_aliases_comptes.cf و نضع فيه التالي:

hosts = 127.0.0.1user = postfixpassword = Mysql Postfix Passworddbname = postfixtable = comptesselect_field = emailwhere_field = emailadditional_conditions = AND etat=1

و في اﻷخير الملف mysql-virtual_quotas.cf سيحتوي على:

hosts = 127.0.0.1
user = postfix
password = Mysql Postfix Password
dbname = postfix
table = comptes
select_field = quota
where_field = email

فقط عليك تغيير user و password و dbname بما يتناسب و اعداداتك،و الآن سنقوم بإنشاء مجموعة خاصة بخادم البريد عن طريق الأمر التالي

addgroup -g 5000 vmail

و بعدها نقوم بإنشاء مستخدم جديد

useradd -g vmail -u 5000 vmail -d /var/spool/vmail -m

الآن نقوم بتحرير ملف اﻹعدادات عن طريق الأمر التالي:

vi main.cf

و اكتب فيه التالي:

myhostname = REVERSE_DNS
myorigin = REVERSE_DNS
mydestination = REVERSE_DNS, localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8, IP_PUBLIQUE_SERVEUR
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_aliases.cf,mysql:/etc/postfix/mysql-virtual_aliases_comptes.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domaines.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_comptes.cf
virtual_mailbox_base = /var/spool/vmail/
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql-virtual_quotas.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = “La boite mail de votre destinataire est pleine, merci de reessayez plus tard.”
virtual_overquota_bounce = yes
smtpd_sender_restrictions =
permit_mynetworks,
warn_if_reject reject_unverified_sender
smtpd_recipient_restrictions =
permit_mynetworks,
reject_unauth_destination,
reject_non_fqdn_recipient
smtpd_client_restrictions =
permit_mynetworks

الآن قم بإعادة تشغيل خادم البريد عن طريق الأمر التالي:

/etc/init.d/postfix restart

و من أجل التحقق من أن الخادم يعمل بشكل جيد بعد اعادة التشغيل استبدل restart ب check.
الآن من أجل أن ننشئ عنوان بريد جديد توجه إلى phpmyadmin ثم إلى قاعدة بيانات postfix و توجه إلى الجدول domains و قم بالإستعلام التالي:

INSERT INTO `domaines` ( `domaine` , `etat` ) VALUES (‘YOUR_DOMAINE.com’, ‘1’);

عليك تغيير YOUR_DOMAINE بالدومين الخاص بك،ثم قم بلصق الكود التالي:

INSERT INTO `comptes` ( `email` , `password` , `quota` , `etat` , `imap` , `pop3` ) VALUES
(‘contact@YOUR_DOMAINE.com’, ENCRYPT( ‘YOUR_PASS_MAIL’ ) , ‘0’, ‘1’, ‘1’, ‘1’);

الآن سنقوم بتثبيت واجهة رسومية للتحكم في البريد الإلكتروني و سأختار  roundCube،للقيام بذلك نقوم بكتبة الأمر التالي:

apt-get install courier-base courier-authdaemon courier-authlib-mysql courier-imap courier-pop

الآن توجه إلى /etc/courier/authmysqlrc و قم بنسخ الكود التالي:

MYSQL_SERVER            localhostMYSQL_USERNAME          postfixMYSQL_PASSWORD          password of SQL connexion MYSQL_DATABASE          postfixMYSQL_USER_TABLE        comptesMYSQL_CRYPT_PWFIELD     passwordMYSQL_UID_FIELD         5000MYSQL_GID_FIELD         5000MYSQL_LOGIN_FIELD       emailMYSQL_HOME_FIELD        “/var/spool/vmail/”MYSQL_MAILDIR_FIELD     CONCAT(SUBSTRING_INDEX(email,’@’,-1),’/’,SUBSTRING_INDEX(email,’@’,1),’/’)

الآن سنقوم بتطبيق هته الأكواد بالترتيب

wget http://surfnet.dl.sourceforge.net/sourceforge/roundcubemail/roundcubemail-X.X-stable.tar.gz
tar -zxvf roundcubemail-X.X-stable.tar.gz
adduser roundcube
mv roundcubemail-X.X-stable.tar.gz /home/roundcube/www
chown -R roundcube:roundcube /home/roundcube

الآن إذهب إلى etc/apache2/sites-available/roundcube/ عن طريق أي محرر تفضله،و قم بلصق الكود التالي:

ServerAdmin madjidou1990@gmail.com
ServerName webmail.ks367082.kimsufi.com
ServerAlias webmail.magictuto.com
DocumentRoot /home/roundcube/www
# SuexecUserGroup roundcube roundcube # on verra ça plus tard
Options FollowSymLinks
AllowOverride All
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined

مع تغيير بيانات الموقع بما يتناسب و بيانات موقعك.
في الأخير قم بكتابة الأمر التالي

mysql -u root -p roundcubemail < /var/www/webmail/SQL/mysql.initial.sql

الآن عليك تثبيت السكريبت مثله مثل إي سكريبت عادي عن طريق كتابة العنوان التالي في المتصفح

http://ksXXXXX.kimsufi.com/~roundcube/installer

ﻻ تنسى كتابة عنوان موقعك بدل ksXXXXX.kimsufi.com

في الأخير أتمنى أﻻ تعتمدوا على هذا الدرس بشكل كبير ﻷنه من الممكن أن تتغير بعض الخطوات مع الإصدارات الجديدة،أيضا فأعترف بأني قد قمت بتقديم هذا الدرس في عجالة كبيرة و من الممكن أن أكون قد أخطأت في بعض الخطوات أو نسيت بعضها،فإن كان كذلك فمن نفسي و من الشيطان،أتمنى أن تعذورني.
سلام.

الكاتب geek4arab

geek4arab

مواضيع متعلقة

التعليقات مغلقة