5

I want to create a mail server for personal use. It will be used mainly by me and possibly some family members. The system load will be in the order of 5-10 IMAP mailboxes, all for "human" use: no heavy traffic, "corporate" massive usage or spamming.

I'd like to use this stack:

  • Ubuntu 12.04 x64
  • Exim (would anyone suggest Postfix? I'm after lightness and simplicity)
  • Dovecot
  • ClamAV
  • something to filter spam (suggestions?)
  • mailman (maybe)

I would rather not install other things on this machine. For example, I'm not planning to install Apache or MySQL (or any other DBdaemon) if I can avoid it.
(System health stuff like Unattended_Upgrades will be present, though.)

I also know about sudo tasksel install mail-server, but I prefer doing things myself :-)

My question is:
What kind os system usage should I expect? What kind of machine would I need?
I was considering Amazon EC2, either:

  • t1.micro: 613 MiB of memory, up to 2 ECUs (for short periodic bursts), EBS storage only
  • M1.small: 1.7 GiB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of local instance storage

About DBs. I'm not experienced with mail server software (I'm still studying the documentation), and I'd appreciate some quick advice on whether a DB integration is really needed. I read of people using MySQL for Exim configuration.
I do have a remote MySQL dedicated machine, but I'd rather use a local flat file like SQLite. Would that be possible or even needed?

A final point: I'm planning to setup Roundcube as a webmail client on another Apache-PHP server. Any suggestions on that?

Cheers

2 Answers 2

6

I have a 1GB RAM 1 CPU Core VPS with Postfix + Dovecot + rspamd (it's an OVH VPS classic tier 1), and I don't even use 25% of the total amount of RAM I have.

Postfix is actually really lightweight. At the moment it's using less than 7 Megabytes of RAM total across all its processes.

For spam filtering, I'd recommend either spamassassin or rspamd. Rspamd is lighter IMHO, but it requires a little bit of tweaking to get it working right (it doesn't add extra mail headers by default - you have to configure it to do that so you can filter the messages with a sieve rule).

Spamassassin is great too, but I found it ate rather a lot of resources.

I've heard that ClamAV is rather resource heavy, but I've no personal experience there.

Roundcube is good, but you might also want to take a look at Rainloop, though it may be for personal use only.

DB integration isn't really needed for small installations I don't think. If you want to keep it lightweight you definitely want to avoid a DB like MySQL.

If you need a tutorial, Ars Technica has a great 4 part series on setting up your own mail server.

3
  • Thanks. Can you please tell me which Linux version can run smoothly on 1GB RAM 1 CPU Core VPS? I need the lightweight but efficient MailServer that could handle 10 different domain with 5 email account on each domain.
    – QMaster
    Mar 6, 2020 at 22:16
  • 1
    To be honest, the Linux distro is not going to make as much of a difference as the mail server you choose. I'd suggest starting with Ubuntu Server. It's easy to manage, and fairly lightweight. As I mention above, for the mail server go for Postfix + Dovecot if you're after lightweight, but the configuration is not for the faint of heart. Mar 8, 2020 at 0:14
  • Thanks, dude. I want to try my heart power ;) I'll try that and I will write here about my experiences.
    – QMaster
    Mar 8, 2020 at 0:22
0

Please note that most of Cloud Provider such as Azure, AWS (Amazon), Google Cloud, and Alibaba Cloud, they all block usage for port 25. So you defenately cannot use their ECS Instance to build up a mail server for SMTP Relay. I have cPanel Server in Azure and Alibaba Cloud and both of them have to use SMTP Relay.

1
  • 2
    There is a reason why usage of Port 25 is often prohibited. According to RFC8314, Port 587 should be used instead in order to provide implicit or explicit TLS. Apr 30, 2020 at 12:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .