commit 46199a38526d2f4f9a39cd437de2f24e859d0723 Author: pmkuipers Date: Sat May 23 15:19:06 2020 +0200 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0f7df0f --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +/node_modules +/public/hot +/public/storage +/storage/*.key +/vendor +.env +.env.backup +.phpunit.result.cache +Homestead.json +Homestead.yaml +npm-debug.log +yarn-error.log diff --git a/README.md b/README.md new file mode 100644 index 0000000..94ea534 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +## About VMail Controller + +VmailController is a web management tool for an email system set up like described by Thomas Leister on https://thomas-leister.de/en/mailserver-debian-stretch/ + +## Adaptations + +This menagement system also includes the option to make "System accounts" - accounts that are not linked to a specific domain. This can be useful if you don't want a direct correlation between email address and email account credentials, to add an thin extra layer of security in case your users are prone to reuse their email password on different websites. This does require dovecot to take over delivery to local accounts, causing linux system accounts to be detached from the local mail system. +(If all you're doing is setting up a mailserver, this should not pose too many problems) + +To achieve this, you'd need a few small adaptations to the configuration described by Thomas Leister: + +### /etc/dovecot/dovecot.conf +Add the following to the file: +``` +auth_default_realm=localhost +``` + +Change the line *mail_home* to: +``` +mail_home = /srv/vmail/mailboxes/%d@%n +``` + +### /etc/postfix/main.cf +Add the following lines to the file in the appropriate places: +``` +myorigin=localhost +local_transport = $virtual_transport +virtual_mailbox_limit = 0 +``` + +### Database setup +The setup requires a few minor tweaks to the database, which are already set up in the application's main database config. +So, do not follow the database setup described by Thomas, but instead use +```php artisan migrate``` +to create the database. + +## Features +This management interface includes the following features +- Full multi-admin multi-domain capability. Each validated user can get domains assigned to manage by an admin. +- Multiple system administrators are possible +- Configure system-wide accounts +- Set-up mail accounts per domain +- Configure aliases per domain - with multiple recipients +- Portal to have users change their own email password