Postfix Virtual Hosting With LDAP Backend And With Dovecot As IMAP/POP3 Server On Ubuntu Kamic Koala 9.10 - Page 4

Step 5: Install And Configure phamm

Since we downloaded and extracted the phamm archive before, we can directly begin with the installation and configuration of the phamm interface.

Note: I hacked into the phamm configuration and .php script files to accomplish the following:

  • Change the email address from postmaster@example.tld to dummy@example.tld. You can't deliver mail to an alias since it is not a mailbox, but a forward.
  • Maildrop to to postmaster@example.tld rather than postmaster wich is a Unix account
  • Maildrop for abuse to postmaster@example.tld rather than postmaster

The other hacks are just to define other defaults:

  • Setting the right mailbox location
  • Setting the quota number for mail
  • Setting the default home directory for ftp
  • Setting the default quota for ftp

In any case I believe that these changes are an improvement rather than customization so I will list them here before we go into the actual installation and configuration of phamm. Those who do not care about these features can skip the following section until the actual phamm configuration and installation.

But first we need to get the phamm scripts to their proper location:

cd /usr/src/
mv phamm-0.5.17 /var/www/
cd /var/www/phamm

My hacks:

The hacks are done on the source, not the actual (see later installation).

Set the defaults for email and domain creation:

vi www-data/main.php

Change (line 308):

$entry["maildrop"] = "postmaster";


$entry["mail"] = "dummy@".$domain_new;

And also (line  328) from:

$entry_abuse["maildrop"] = "postmaster";


$entry_abuse["maildrop"] = "postmaster@".$domain_new;

Change the quota in mail.xml plugin to support Dovecot quota format:

vi plugins/mail.xml 

Change (line 143)



Now we set the permissions on the directory:

chown -R www-data:www-data /var/www/phamm
cd /var/www/phamm
rm -R examples
rm -R doc
rm -R DTD
rm -R schema

This in order to remove files that are not needed directory.

Now we will configure phamm for actual use.


Change the ldap connection parameters to fit your actual configuration.

// *============================*
// *=== LDAP Server Settings ===*
// *============================*

// The server address (IP or FQDN)
define ('LDAP_HOST_NAME','');

// The protocol version [2,3]

// The server port
define ('LDAP_PORT','389');

// The container
define ('SUFFIX','dc=example,dc=tld');

// The admin bind dn (could be rootdn)
define ('BINDDN','cn=admin,dc=example,dc=tld');

// The Phamm container
define ('LDAP_BASE','o=hosting,dc=example,dc=tld');

and change

// Welcome message
define ('SEND_WELCOME',1);
$welcome_msg = '../welcome_message.txt';
$welcome_subject = 'Welcome!';
# $welcome_sender = 'postmaster@localhost';
$welcome_bcc = 'postmaster@example.tld';

This will send a welcome message and a bcc to your postmaster account.

Enable the fpt and person plugin by removeing the // in the plugins section. If wanted you can also enable the davical and or jabber plugins, the schema needed for these plugins is installed.

And on line 174 change CRYPT to MD5. Most other software that uses LDAP use MD5 hashing, so it is therefore a good thing to have phamm use MD5.

Since the transport maildrop: is hardcoded in phamm we need to change this in order to enable Dovecot delivery.

vi plugins/mail.xml

Replace each entry with maildrop: with dovecot: (do no forget the colon). In ordinary situations, the commands in Postfix's would do (that we added before), but ldap transport as used and implemented by phamm overrides this and implements maildrop.

That's it for the configuration.

You can edit plugins/mail.xml to change the defaults for smtp and quota, modify them to your needs.

Please note that the multiplier used for quota is x*y representing x*1024. So if you want a quota of 1000Mb you need to set the quota to 1000.

<attribute name="quota">
                                <default>50</default> ==> 50=50Mb, 100=100Mb

You can edit plugins/ftp.xml to change the defaults for default ftp (base) directory and quota, modify them to your needs.

Do not forget to create the aliases and or mailboxes for postmaster, webmaster since these are used by official's and ISP's to send mail to in case of ... Not having these addresses could result in being blacklisted.

This concludes the phamm configuration.

Share this page:

Suggested articles

1 Comment(s)

Add comment


From: Pavel Sebek


i would like correct a mistake in guide:



 the file main.php:


Change (line 308):

$entry["maildrop"] = "postmaster";


$entry["mail"] = "dummy@".$domain_new;




the file main.php:


Change (line 308):

$entry["maildrop"] = "postmaster";


$entry["maildrop"] = "dummy@".$domain_new;