| Using The Haraka Mail Server |
| Server - CentOS |
|
Haraka is an interesting project which yields a lightweight fast mail server with some limitations, especially in terms of queuing. The installation is simple enough though several other dependencies must be installed. One of the biggest liabilities is that Haraka does not have adequate documentation. Getting simple plugins to work means guessing on how to make some aspects work as there is no information. And, since few people are using Haraka, the second big liability, it is tough finding answers and difficult estimating the real value of Haraka as a production option. On other hand, Haraka is a simple program that one can basically guess what the correct answers to problems are. Here is the web site for Haraka: https://github.com/baudehlo/Haraka Haraka can be implemented either as an incoming mail server with plugins that meet important standards for performance, Spam detection and virus protection. Or, it can be implemented as an outgoing server. This means that typically Haraka is the frontend to a setup which also includes a mail serve like Postfix, so the queues from Postfix can be used while the performance and simplicity of Haraka are the frontend. Resource Usage Comparison When comparing the resources that Haraka uses with that of a typical Postfix server running plugins, the two areas to compare are the use of amavisd and Haraka. On a typical installation, amavisd (perl script) is used to connect to spamassassin and clamav and use a reinjection port to provide the necessary scanning and then send mail to the queue on a different port.
Resources used while processing 500 messages of a size of 5140 KB done in 1 second.
Here are the resources taken up by amavis on a working mail server. As you can see depending upon how many child processes you have amavis has similar needs in terms of resources.
Haraka was faster on managing email as it came in and getting it to a queue vs. amavis. This is probably due to the overall structural differences and the perl script verses the Javascript differences. I did not record time differences as my set up was just an initial testing situation.
Installation There are a number of dependencies that must be installed for Haraka. This example will demonstrate how to install on a CentOS machine.
wget http://nodejs.org/dist/node-v0.4.12.tar.gz
This e-mail address is being protected from spambots. You need JavaScript enabled to view it
/usr/local/lib/node_modules/Haraka/node_modules/nopt log@1.2.0 /usr/local/lib/node_modules/Haraka/node_modules/cluster/node_modules/log mkdirp@0.0.7 /usr/local/lib/node_modules/Haraka/node_modules/cluster/node_modules/mkdirp cluster@0.7.7 /usr/local/lib/node_modules/Haraka/node_modules/cluster Haraka@1.0.0 /usr/local/lib/node_modules/Haraka
Start the daemon
That should provide a basic working version of haraka. However, before you go too far you will want to make modifications that will ensure a stable mail server that performs the tasks that are necessary. |