This tutorial explains how you can install and configure SquirrelMail on a RedHat/CentOS/Fedora based mail server which uses Sendmail and Apache.
Primary Mail Server: linuxbox4 (192.168.0.14)
Domain Name: abc.com
Trusted IP Pool: 192.168.0.0/24
Note: Replace domain name and system name and IP according to your scenario.
1. DNS is configured with proper MX record.
2. All necessary packages/ softwares are installed.
Configure all service to start at boot time.
chkconfig sendmail on
chkconfig httpd on
chkconfig dovecot on
Configure /etc/hosts file. In this scenario /etc/hosts file should look like this:
192.168.0.14 linuxbox4 www.abc.com Step 3: Outgoing Mail Server Configuration (Sendmail): Open /etc/mail/sendmail.mc file and change the following two lines. From:
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl FEATURE(`accept_unresolvable_domains')dnl To:
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl dnl FEATURE(`accept_unresolvable_domains')dnl Save and exit. - First line here enables sendmail to receive incoming emails on all installed the NICs. Otherwise mail server would only be able to receive mails from it. - Second line here tells sendmail, do not receive emails from mail servers whose PTR record is not configured in DNS server. This is a basic level SPAM control settings in sendmail. Generate sendmail.cf file from sendmail.mc file. m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
Step 4:Allow RELAY for trusts (organization's) IP addresses that you want to permit sending emails using this mail server. Open /etc/mail/access in this file we specify all those addresses that will be sending emails through this mail server. At the end of this file add the following line:
192.168.0 RELAY Save and exit and convert this text database into DB format by following command. makemap hash access.db < access
Step 5:Tell sendmail that it will be acting as a primary mail server for "abc.com" domain. We do this by adding domain name in /etc/mail/local-host-names. If this server is acting as a mail server for more then one domains then add names of all of the domains in this file on separate line. Open /etc/mail/local-host-names and add "abc.com" at the end of this file. Note: A mail server can act as a primary mail server for more then one domains at the same time and as well as can act as a primary and secondary mail server for more than one domain at the same time.
Step 6:All system users are mail users as well. Now create mail only users. useradd -s /usr/sbin/smrsh mailuser1 useradd -s /usr/s2n/smrsh mailuser1 Also set their passwords: passwd mailuser1 passwd mailuser2
Step 7:Finally restart sendmail service. service sendmail restart
Step 8:Incoming Mail Server Configuration (Dovecot): Open /etc/dovecot.conf and change the following lines. From:
#protocols = imap pop3
protocols = imap imaps pop3 pop3s Save and exit and restart dovecot service. service dovecot restart
Step 9:Webserver Configuration (Apache): Apache comes pre-configured, you just have to change the ServerName parameter in /etc/httpd/conf/httpd.conf file and restart the service, that’s all. Open /etc/httpd/conf/httpd.conf and set the ServerName parameter.
ServerName www.abc.com Save and exit and restart httpd service. service httpd restart
Installation & Configuration of Squirrelmail• Check that Squirrelmail is installed on the system. # rpm –q squirrelmail • If squirrelmail is not installed on the system then install it through rpm: # rpm –ivh squirrelmail • Now go to the squirrelmail directory, located in /usr/share. # cd /usr/share/squirrelmail • Then go to the config directory: # cd config • Now run one of the following commands to configure squirrelmail. # ./conf.pl OR perl conf.pl • Now select option 1 (Organization Preferences). Organization Name : YOUR_ORG_NAME Organization Title : YOUR_ORG_NAME Webmail Provider link : http://YOUR_ORG_SITE_ADDRESS Provider name : YOUR_ORG_NAME • Now select option 2 (Server Settings). Domain : abc.com Sendmail or SMTP : Sendmail IMAP Server : localhost IMAP Port : 143 Server software : uw Delimiter : / • Now select option 3 (Folder Settings). Default Folder Prefix : mail/ Show Folder Prefix Option : true Trash Folder : Trash Sent Folder : Sent Drafts Folder : Drafts By default, move to trash : true By default, move to sent : true By default, save as draft : true List Special Folders First : true Show Special Folders Color : true Auto Expunge : true Default Sub. of INBOX : false Show 'Contain Sub.' Option : true Default Unseen Notify : 2 Default Unseen Type : 1 Auto Create Special Folders : true Folder Delete Bypasses Trash : false Enable /NoSelect folder fix : false • Now select option 4 (General Settings). Data Directory : /var/lib/squirrelmail/prefs/ Attachment Directory : /var/spool/squirrelmail/attach/ Directory Hash Level : 0 Default Left Size : 150 Usernames in Lowercase : false Allow use of priority : true Hide SM attributions : false Allow use of receipts : true Allow editing of identity : true Allow editing of name : true Remove username from header : false Allow server thread sort : true Allow server-side sorting : true Allow server charset search : true Enable UID support : true PHP session name : SQMSESSID Location base : • Now choose option 8 (Plugins) and select the plugins that you wish to provide to your webmail users. • Now open the browser with the following link: http://YOUR_SITE_ADDRESS/webmail OR http://192.168.0.14/webmail