Setup Mail Server using Postfix, Dovecot and SquirrelMail in CentOS/RHEL/Scientific Linux 6.5 step by step

The mail server should contain a valid MX record in the DNS server. Navigate to my previous DNS SERVER link

  • ·         Firewall and SELinux should be disabled.

    [root@ansh ~]# service iptables stop
    [root@ansh ~]# service ip6tables stop
    [root@ansh ~]# chkconfig iptables off
    [root@ansh ~]# chkconfig ip6tables off

    [root@ansh ~]# 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     = ansh.kirtipatel.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@ansh ~]# 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 =ansh.kirtipatel.com ##line no 75 - uncomment and enter your host name
    mydomain = kirtipatel.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
    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 ansh.kirtipatel.com ESMTP Postfix
    ehlo localhost
    250-ansh.kirtipatel.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.ansh.kirtipatel.com
    [root@server new]# cat 1360236956.Vfd00I35afM181256.ansh.kirtipatel.comReturn-Path: <user1@kirtipatel.com>
    X-Original-To: user1
    Delivered-To: user1@kirtipatel.com
    Received: from localhost (localhost [IPv6:::1])
     by ansh.kirtipatel;.com (Postfix) with ESMTP id 117113FF18
     for <user1>; Thu,  7 Feb 2013 17:05:32 +0530 (IST)
    Message-Id: <20130207113547.117113FF18@ansh.kirtipatel.com>
    Date: Thu,  7 Feb 2013 17:05:32 +0530 (IST)
    From: user1@kirtipatel.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
    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
    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"
    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
    Start the dovecot service.
    [root@server ~]# service dovecot start
    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@kirtipatel.com>
    X-Original-To: user1
    Delivered-To: user1@kirtipatel.com
    Received: from localhost (localhost [IPv6:::1])
     by ansh.kirtipatel.com (Postfix) with ESMTP id 117113FF18
     for <user1>; Thu,  7 Feb 2013 17:05:32 +0530 (IST)
    Message-Id: <20130207113547.117113FF18@ansh.kirtipatel.com>
    Date: Thu,  7 Feb 2013 17:05:32 +0530 (IST)
    From: user1@kirtipatel.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@ansh ~]# wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
    [root@ansh~]# rpm -ivh epel-release-6-8.noarch.rpm 
    [root@ansh~]# yum install squirrelmail
    [root@ansh~]# service httpd start
    Starting httpd:                                            [  OK  ]
    [root@ansh ~]# 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
    Select option 1 and set organization details.
    SquirrelMail Configuration : Read: config.php (1.4.0)
    ---------------------------------------------------------
    Organization Preferences
    1.  Organization Name      : KIRTIPATEL
    2.  Organization Logo      : ../images/sm_logo.png
    3.  Org. Logo Width/Height : (308/111)
    4.  Organization Title     : Welcome to Kirti Patel webmail
    5.  Signout Page           :
    6.  Top Frame              : _top
    7.  Provider link          : http://kirtipatel.com
    8.  Provider name          :Kirtipatel
    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                 : kirtipatel.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>
    Restart the httpd service. 
    [root@ansh ~]# service httpd restart
    Stopping httpd:                                            [  OK  ]
    Starting httpd:                                            [  OK  ]
    [root@ansh ~]# 
    Create Users
    [root@ansh~]# useradd user1
    [root@ansh~]# useradd user2
    [root@ansh~]# passwd user1
    [root@ansh~]# 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.




Comments

Popular posts from this blog

Step By Step Configuration Cisco VoIP Phone in Cisco Packet Tracer.

How To Setup Social Publishing CMS (Content Managemnet System) Using Pligg in CentOS 6.5

How To Install And Configuring OpenFire XMPP Chat server on centos 6.5