Difference between revisions of "Email server setup"
Line 23: | Line 23: | ||
=Installation= | =Installation= | ||
+ | |||
+ | ==MySQL database== | ||
+ | |||
+ | Create a new database and user for email. | ||
+ | |||
+ | |||
+ | I assume that: | ||
+ | * Database name: '''maildb''' | ||
+ | * Db user: '''maildb''' | ||
+ | |||
+ | |||
+ | MySQL script: | ||
+ | |||
+ | |||
+ | <syntaxhighlight lang="bash"> | ||
+ | # log in as root | ||
+ | mysql -u root -p | ||
+ | |||
+ | # Create the mail database | ||
+ | create database maildb; | ||
+ | |||
+ | # Create a new user and grant rights upon mail database | ||
+ | GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON maildb.* TO 'mail'@'localhost' IDENTIFIED by 'mailPASSWORD'; | ||
+ | GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON maildb.* TO 'mail'@'%' IDENTIFIED by 'mailPASSWORD'; | ||
+ | exit; | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
Revision as of 16:33, 11 August 2014
Contents
Overview
Requirements
An email server requires a lot of components:
- Send / Receive emails [SMTP, POP3, IMAP, ...]
- Tools to check the email content against virus, spam
- Tools to encrypt the communication
- (optional) Database to manage users and emails
Therefore, before going on you need to have:
- MySQL server
- MySQL client such as MySQL workbench
Installation
MySQL database
Create a new database and user for email.
I assume that:
- Database name: maildb
- Db user: maildb
MySQL script:
# log in as root
mysql -u root -p
# Create the mail database
create database maildb;
# Create a new user and grant rights upon mail database
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON maildb.* TO 'mail'@'localhost' IDENTIFIED by 'mailPASSWORD';
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON maildb.* TO 'mail'@'%' IDENTIFIED by 'mailPASSWORD';
exit;
SMTP send server
## Security libraries
# SASL is the Simple Authentication and Security Layer, a method for adding authentication support to connection-based protocols.
apt-get install libsasl2-modules libsasl2-modules-sql libgsasl7 libauthen-sasl-cyrus-perl sasl2-bin
# Authentication using MySQL
apt-get install libpam-mysql
## Anti-virus
apt-get install clamav-base libclamav6 clamav-daemon clamav-freshclam
## SPAM killer
apt-get install spamassassin spamc
## Interface to scan emails for virus & spam
apt-get install amavisd-new
## Utility to SEND emails
apt-get install postfix postfix-mysql
## Utility to RECEIVE emails
apt-get install courier-base courier-authdaemon courier-authlib-mysql courier-imap courier-imap-ssl courier-pop courier-pop-ssl courier-ssl