Setup Mail Server
using Postfix, Dovecot and SquirrelMail in CentOS/RHEL/Scientific Linux 6.5
step by step
Setup Mail Server using
Postfix, Dovecot and SquirrelMail in CentOS/RHEL/Scientific Linux 6.5step
by step
[root@sohil ~]# yum remove sendmail
Prerequisites:
The
mail server should contain a valid MX record in the DNS server. Navigate to
this link DNS Server
·
Firewall and SELinux should be disabled.
[root@sohil ~]# service iptables stop
[root@sohil ~]# service ip6tables stop
[root@sohil ~]# chkconfig iptables off
[root@sohil ~]# chkconfig ip6tables off
[root@sohil ~]# vi /etc/selinux/config
# This file controls the state of SELinux on the
system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security
policy is enforced.
# permissive - SELinux prints
warnings instead of enforcing.
# disabled - No SELinux policy is
loaded.
SELINUX=disabled# SELINUXTYPE= can take one
of these two values:
# targeted - Targeted processes are
protected,
# mls - Multi Level Security
protection.
SELINUXTYPE=targeted
Reboot the server.
Scenario
In this tutorial my test box
Hostname = sohil.kismat.com
IP Address = 192.168.1.200/24
And my server is configured with proper MX record in DNS server.
Installation
Postfix is installed by default. If it is not installed, use the
below command to install postfix.
[root@sohil ~]# yum install postfix
Configuration
Open the postfix config file /etc/postfix/main.cf. Find the below lines and edit them as shown below.
[root@server ~]# vi
/etc/postfix/main.cf
myhostname =sohil.kismat.com ##line no 75 - uncomment and enter your host name
mydomain = kismat.com ##line no 83 - uncomment and enter your domain name
myorigin = $mydomain ##line no 99 - uncomment
inet_interfaces = all ##line no 116 - change to all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ##line no 164 - add $domain at the end
mynetworks = 192.168.1.0/24, 127.0.0.0/8 ##line no 264 - uncomment and add your network range
home_mailbox = Maildir/ ##line no 419 - uncomment
myhostname =sohil.kismat.com ##line no 75 - uncomment and enter your host name
mydomain = kismat.com ##line no 83 - uncomment and enter your domain name
myorigin = $mydomain ##line no 99 - uncomment
inet_interfaces = all ##line no 116 - change to all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ##line no 164 - add $domain at the end
mynetworks = 192.168.1.0/24, 127.0.0.0/8 ##line no 264 - uncomment and add your network range
home_mailbox = Maildir/ ##line no 419 - uncomment
Start the postfix service.
[root@server ~]#
service postfix start
Starting postfix: [ OK ]
[root@server ~]# chkconfig postfix on
Starting postfix: [ OK ]
[root@server ~]# chkconfig postfix on
Test Postfix
The commands shown in bold letters should be entered by the
user.
Note: The dot after the test command is important.
[root@server ~]# telnet localhost smtp
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 sohil.kismat.com ESMTP Postfix
ehlo localhost
250-sohil.kismat.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:<user1>
250 2.1.0 Ok
rcpt to:<user1>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
test
.
250 2.0.0 Ok: queued as 117113FF18
quit
221 2.0.0 Bye
Connection closed by foreign host.
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 sohil.kismat.com ESMTP Postfix
ehlo localhost
250-sohil.kismat.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:<user1>
250 2.1.0 Ok
rcpt to:<user1>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
test
.
250 2.0.0 Ok: queued as 117113FF18
quit
221 2.0.0 Bye
Connection closed by foreign host.
Check Mail
Navigate to the user mail directory and check for the new mail.
[root@server ~]# cd /home/user1/Maildir/new/[root@server new]# ls
1360236956.Vfd00I35afM181256.sohil.kismat.com
[root@server new]# cat 1360236956.Vfd00I35afM181256.sohil.kismat.comReturn-Path: <user1@kismat.com>
X-Original-To: user1
Delivered-To: user1@kismat.com
Received: from localhost (localhost [IPv6:::1])
by sohil.kismat;.com (Postfix) with ESMTP id 117113FF18
for <user1>; Thu, 7 Feb 2013 17:05:32 +0530 (IST)
Message-Id: <20130207113547.117113FF18@sohil.kismat.com>
Date: Thu, 7 Feb 2013 17:05:32 +0530 (IST)
From: user1@kismat.com
To: undisclosed-recipients:;
test
1360236956.Vfd00I35afM181256.sohil.kismat.com
[root@server new]# cat 1360236956.Vfd00I35afM181256.sohil.kismat.comReturn-Path: <user1@kismat.com>
X-Original-To: user1
Delivered-To: user1@kismat.com
Received: from localhost (localhost [IPv6:::1])
by sohil.kismat;.com (Postfix) with ESMTP id 117113FF18
for <user1>; Thu, 7 Feb 2013 17:05:32 +0530 (IST)
Message-Id: <20130207113547.117113FF18@sohil.kismat.com>
Date: Thu, 7 Feb 2013 17:05:32 +0530 (IST)
From: user1@kismat.com
To: undisclosed-recipients:;
test
Thats it. Postfix working now.
Install Dovecot
[root@server ~]# yum
install dovecot
Configure Dovecot
Open the dovecot config file /etc/dovecot/dovecot.conf. Find and uncomment the line as shown below.
[root@server ~]# vi
/etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp
protocols = imap pop3 lmtp
Open the file /etc/dovecot/conf.d/10-mail.conf and uncomment the line as shown below.
[root@server ~]# vi
/etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir ##line no 24 - uncomment
mail_location = maildir:~/Maildir ##line no 24 - uncomment
Open the /etc/dovecot/conf.d/10-auth.conf and edit as shown below.
[root@server ~]# vi
/etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no ##line no 9 - uncomment and change from yes to no.
auth_mechanisms = plain login ##line no 97 - add the text "login"
disable_plaintext_auth = no ##line no 9 - uncomment and change from yes to no.
auth_mechanisms = plain login ##line no 97 - add the text "login"
Open the /etc/dovecot/conf.d/10-master.conf and edit as shown below.
unix_listener
auth-userdb {
#mode = 0600
user = postfix ##line no 83 - uncomment and enter postfix
group = postfix ##line no 84 - uncomment and enter postfix
#mode = 0600
user = postfix ##line no 83 - uncomment and enter postfix
group = postfix ##line no 84 - uncomment and enter postfix
Start the dovecot service.
[root@server ~]#
service dovecot start
Starting Dovecot Imap: [ OK ]
[root@server ~]# chkconfig dovecot on
Starting Dovecot Imap: [ OK ]
[root@server ~]# chkconfig dovecot on
Test Dovecot
The commands shown in bold should be entered by the user.
[root@server ~]# telnet localhost pop3
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user user1
+OK
pass user1
+OK Logged in.
list
+OK 1 messages:
1 428
.
retr 1
+OK 428 octets
Return-Path: <user1@kismat.com>
X-Original-To: user1
Delivered-To: user1@kismat.com
Received: from localhost (localhost [IPv6:::1])
by sohil.kismat.com (Postfix) with ESMTP id 117113FF18
for <user1>; Thu, 7 Feb 2013 17:05:32 +0530 (IST)
Message-Id: <20130207113547.117113FF18@sohil.kismat.com>
Date: Thu, 7 Feb 2013 17:05:32 +0530 (IST)
From: user1@kismat.com
To: undisclosed-recipients:;
test
.
quit
+OK Logging out.
Connection closed by foreign host.
[root@server ~]#
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user user1
+OK
pass user1
+OK Logged in.
list
+OK 1 messages:
1 428
.
retr 1
+OK 428 octets
Return-Path: <user1@kismat.com>
X-Original-To: user1
Delivered-To: user1@kismat.com
Received: from localhost (localhost [IPv6:::1])
by sohil.kismat.com (Postfix) with ESMTP id 117113FF18
for <user1>; Thu, 7 Feb 2013 17:05:32 +0530 (IST)
Message-Id: <20130207113547.117113FF18@sohil.kismat.com>
Date: Thu, 7 Feb 2013 17:05:32 +0530 (IST)
From: user1@kismat.com
To: undisclosed-recipients:;
test
.
quit
+OK Logging out.
Connection closed by foreign host.
[root@server ~]#
Dovecot is working now.
Install Squirrelmail
Install EPEL repository first. And install SquirrelMail package
from EPEL repository.
[root@sohil ~]# wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
[root@sohil~]# rpm -ivh epel-release-6-8.noarch.rpm
[root@sohil~]# yum install squirrelmail
[root@sohil~]# service httpd start
Starting httpd:
[ OK ]
[root@sohil ~]# chkconfig httpd on
Configure Squirrelmail
Go to the squirrelmail config directory and use the command ./conf.pl to start configure as shown below.
[root@server ~]# cd
/usr/share/squirrelmail/config/
[root@server config]# ./conf.pl
SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1. Organization Preferences
2. Server Settings
3. Folder Defaults
4. General Options
5. Themes
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Languages
D. Set pre-defined settings for specific IMAP servers
C Turn color off
S Save data
Q Quit
Command >>1
[root@server config]# ./conf.pl
SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1. Organization Preferences
2. Server Settings
3. Folder Defaults
4. General Options
5. Themes
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Languages
D. Set pre-defined settings for specific IMAP servers
C Turn color off
S Save data
Q Quit
Command >>1
Select option 1 and set organization details.
SquirrelMail
Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Organization Preferences
1. Organization Name : KISMAT
2. Organization Logo : ../images/sm_logo.png
3. Org. Logo Width/Height : (308/111)
4. Organization Title : Welcome to shekh sohil webmail
5. Signout Page :
6. Top Frame : _top
7. Provider link : http://kismat.com
8. Provider name :Kismat
R Return to Main Menu
C Turn color off
S Save data
Q Quit
Command >>R
---------------------------------------------------------
Organization Preferences
1. Organization Name : KISMAT
2. Organization Logo : ../images/sm_logo.png
3. Org. Logo Width/Height : (308/111)
4. Organization Title : Welcome to shekh sohil webmail
5. Signout Page :
6. Top Frame : _top
7. Provider link : http://kismat.com
8. Provider name :Kismat
R Return to Main Menu
C Turn color off
S Save data
Q Quit
Command >>R
Press R to return main menu and select option 2.
Enter your domain name and select dovecot in the Sendmail or
SMTP parameter.
SquirrelMail
Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Server Settings
General
-------
1. Domain : kismat.com
2. Invert Time : false
3. Sendmail or SMTP : SMTP
A. Update IMAP Settings : localhost:143 (uw)
B. Update SMTP Settings : localhost:25
R Return to Main Menu
C Turn color off
S Save data
Q Quit
Command >> S
---------------------------------------------------------
Server Settings
General
-------
1. Domain : kismat.com
2. Invert Time : false
3. Sendmail or SMTP : SMTP
A. Update IMAP Settings : localhost:143 (uw)
B. Update SMTP Settings : localhost:25
R Return to Main Menu
C Turn color off
S Save data
Q Quit
Command >> S
Once you done, press S to save datas and
press Q to exit.
Add the following lines in the httpd.conf file at the end.
[root@server ~]# vi /etc/httpd/conf/httpd.conf
Alias /squirrelmail /usr/share/squirrelmail
<Directory /usr/share/squirrelmail>
Options Indexes FollowSymLinks
RewriteEngine On
AllowOverride All
DirectoryIndex index.php
Order allow,deny
Allow from all
</Directory>
Alias /squirrelmail /usr/share/squirrelmail
<Directory /usr/share/squirrelmail>
Options Indexes FollowSymLinks
RewriteEngine On
AllowOverride All
DirectoryIndex index.php
Order allow,deny
Allow from all
</Directory>
Restart the httpd service.
[root@sohil ~]# service httpd restart
Stopping httpd:
[ OK ]
Starting httpd:
[ OK ]
[root@sohil ~]#
Create Users
[root@sohil~]# useradd user1
[root@sohil~]# useradd user2
[root@sohil~]# passwd user1
[root@sohil~]# passwd user2
Open the browser from any clients. Type the following in the
address bar.
http://serveripaddress/webmail
or
http://yourdomainname/webmail
After that you can login with your username and password.. and u can see this next screen.
Thats it. Have a good day!!!!
After that you can login with your username and password.. and u can see this next screen.
Thats it. Have a good day!!!!
Comments
Post a Comment