Fusion Directory
Fusion Directory is a PHP based application that allows you to manage an LDAP directory. Each account can have features enabled or disabled, so if you want to allow a person to have acces to emails, but not to the VPN, then you can individually enable or disable the feature on their account. At the moment it does not support pagination for the users, so it can take a while to scroll through the users, if there are thousands of them, but the developers are working on this for the 1.1 version. You can also write your own plugins, like the one that I had to write and you can see its icon on the bottom right of the picture. Each user can also log in to the web interface and change their password.