Script to install a Postfix/Dovecot/Mysql system and the postfixadmin web UI
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Script to automate the installation and configuration of a postfixadmin system on a debian-alike OS (it uses apt-get).

You will need a working Postfix and MySQL server (and ideally knowledge of the root password for the latter), and LWP::Simple (which is libwww-perl in dpkg).


Just download and run as root:

apt-get install postfix mysql-server libwww-perl
GET > postfixadmin-installer
perl ./postfixadmin-installer

You will be prompted for MySQL credentials if the debian-sys-maint ones can't be found or are found to not work. At the end of the script you will be given the generated setup password to use to set up the first admin user.

There's a few options you can pass the script; use --help to see them. The only one that's particularly likely to be useful is --fqdn; if this isn't given then the output of hostname -f is used. This value is used in a few places in the PostfixAdmin UI; nothing other than links will break if you get it wrong.


The script is split in two. The upper, larger, part is where all the config is set, and it's mostly fairly well commented. A quick run down of the defaults:

  • Mailboxes go in /var/lib/vmail/<domain>/<local-part>
  • MySQL stuff goes in a db called vmail accessible by a user vmail from localhost.
  • Filesystem stuff is all done as vmail:vmail by both Dovecot and Postfix.
  • Postfixadmin 2.3.6 is downloaded from Sourceforge. It is extracted into /var/www/postfixadmin and Apache is not reconfigured at all; you might need to configure an alias to make this work.
  • imap, imaps, pop3 and pop3s are all enabled.
  • Plaintext imap(s) & pop3(s) auth is enabled (because it's really handy for testing).
  • Plaintext auth for imap and pop is default when enabled.

To Do

Patches welcome :) Also, file issues above.


This is known to work (i.e. tested succesfully) on:

  • Debian Jessie
  • Debian Wheezy
  • Debian Squeeze w/Dovecot 2.x

This doesn't work with Dovecot 1.x; the merging of the 'wheezy' branch broke this.

If you want the version that does work with Dovecot 1.x (specifically Lenny and Squeeze), try it at tag 'lenny' or 'wheezy' (see 'Releases' on GitHub); I'm not that interested in feature-adding to those, but if something does go wrong do let me know.

I'm interested in compatibility with any other Debian-derived distros, too.