Amahi Mail System
From Amahi
| WARNING | |
|---|---|
| This should only be attempted by advanced users. It is still under development. |
DISCLAIMER: This is for Fedora 14 ONLY! Although tested, use at your own risk. I cannot guarantee that it will work for your system or not cause any serious problems.
Contents |
Purpose
The primary intent of the Amahi Mail System is to allow you to use your Home Digital Assistant (HDA) as a mail server.
- It allows you to send/receive mail from your HDA. There are some quirks depending on if you have a registered domain with a paid service provider (i.e. GoDaddy, Host Gator). With these services, there is typically what is called a MX record associated with the domain name. This will allow you to send/receive mail as your hostname (i.e. myhda@home.com).
- If you use the free ones (i.e. user.yourhda.com, no-ip.org), you will have to masquerade your email address as your ISP (i.e. myhda@yourisp.com). This will ensure you can receive email replies from those you send from your HDA.
Current Version
1.8.8 (Fedora 14) released update on May 18, 2011
Known Issues
- Quota information present in the database needs to be removed or hidden.
Change Log
- Upgraded to Fedora 14
- Command line installation replaced with a Web-based installer
- Removed custom built Postfix (with Quota support) and Maildrop packages
- Included Fedora Postfix and Maildrop packages
- Removed DCC due to instability on install
- Packaged SquirrelMail client separately, removing it from the core
- Store system settings (host, user, and certificate information) in MySQL database
- New logo and screen shot for application
- Added Instructions to explain initial setup and Virtual User Management
- Refined input form to detect HDA hostname and first user
- Fixed Log display to not redirect when install finishes
- Added initial Login Credentials to install log
- Updated missing Postfix configuration entries
- Changed Welcome/SPAM Test mail to be sent by postmaster
- Included configuration information in install log
- Added database front-end for virtual user management
- Created separate install and help guidance
- Enabled port 587 for sending mail
- Added user authentication to secure integrated database manager
- Minor code updates to secure install
- Streamlined forms and minor code updates
- Mailbox now created when new users added
- Deleting users removes appropriate mailbox
- Changed URL from http://mail to http://ams
- Minor bug fix with integrated database manager edit of domain
Future Enhancements
- Expand instructions to include how to configure mail clients
- Incorporate a mail backup mechanism
- Streamline code and validate form fields
How to Install/Uninstall (Automated)
- Special access must be requested to install Amahi Mail System.
- Once granted, install/uninstall via the Applications tab in the Amahi Dashboard.
How to Install (Manual)
Here's the sequence of events to get the virtual email server up and running:
- Restart your HDA so it's fresh for the install. This is not required, just a recommendation.
- Enable Advanced Settings in the Amahi Dashboard (Settings-->Settings)
- Create a web app in Amahi named ams.
- Open a terminal window, become root, and navigate to /var/hda/web-apps/ams directory.
- Download mail-server-1.8.8.tar.gz (sha1sum 950bd51ecedf1c86d12c4830320f458502917a12) to this directory and extract it into html directory of ams (archive content).
- Ensure you recursively change ownership of the files to apache:users.
- Need to make a directory called elevated in ams. Copy mail-setup.sh and del-maildir.sh to that location.
- Ensure mail-setup.sh and del-maildir.sh are executable.
- Create the database and insert the data from the mail.sql file located in the config directory.
- Navigate to http://ams in your favorite web browser and you should see the login page.
- Enter credentials (admin/amahi) and choose Login to display the install page (See Tips for how to change the login info).
- Complete all the required info. Once finished, select the click the NEXT button and the data will be added to the database.
- Next, a screen will appear with a INSTALL button, click it to begin. You will also notice a log link so you can monitor the install.
- Use your favorite mail client, Roundcube, AtMail, or SquirrelMail to access your new mail account.
- Use the built-in tool to manage Virtual User information in the database. DadaBIK, phpMyAdmin, or Adminer can also be utilized.
Example Install Terminal Session
| bash code |
|---|
| su - cd /var/hda/web-apps/ams |
How to Uninstall (Manual)
To uninstall, do the following:
- Open a terminal window, become root, and navigate to /var/hda/web-apps/ams/html directory.
- Remove the database.
- Ensure mail-remove.sh is executable.
- From the html directory, run the script. This may take a while to complete.
- Close the terminal window and remove the web app in Amahi named ams.
Example Uninstall Terminal Session
| bash code |
|---|
| su - cd /var/hda/web-apps/ams/html |
Add-Ons
Mailman
You can now add the Mailman software to your Amahi Mail System. Follow the instructions at Amahi Mailman.
FetchYahoo
Add capability to fetch Yahoo mail:
- Download the latest FetchYahoo
- Install instructions included
Tips
- To permanently change your hostname from localhost.localdomain, see this article.
- Should your mail server hang up and stop working, you can most likely fix it with the following two scripts. Place them in /var/hda/web-apps/ams/elevated directory. You must run these as root user :
start.sh (execute stop.sh first):
Text /etc/init.d/courier-authlib start;
/etc/init.d/sendmail stop;
/etc/init.d/postfix start;
/etc/init.d/saslauthd start;
/etc/init.d/courier-authlib restart;
/etc/init.d/courier-imap start;
/usr/bin/freshclam;
/etc/init.d/amavisd start;
/etc/init.d/clamd.amavisd start;
/etc/init.d/postfix start;
spamassassin --lint;
/etc/init.d/amavisd restart;
sa-update --no-gpg;stop.sh (run prior to start.sh):
Text /etc/init.d/courier-authlib stop;
/etc/init.d/sendmail stop;
/etc/init.d/postfix stop;
/etc/init.d/saslauthd stop;
/etc/init.d/courier-imap stop;
/etc/init.d/amavisd stop;
/etc/init.d/clamd.amavisd stop;
rm -f /var/spool/amavisd/clamd.sock;Ensure you set the permissions on both files:
bash code chown apache:users start.sh stop.sh
chmod 755 start.sh stop.sh
- You can change the Login Credentials for the integrated database manager/web-based installer by doing the following:
- Open the Login-class.php file in the /var/hda/web-apps/ams/html directory
- On lines 29 and 32, change to whatever works for you
- Save and now you can log in using the new credentials
- Add NEW users to the foo.com domain (does not include any DNS MX records). Modify the mail database and substitute your information accordingly:
- In the users table, insert a new record with the following information...
- user: user@foo.com
- password: choose 'ENCRYPT' for the function and enter the users password. (Alternatively, you can have the user enter their password)
- quota: do NOT edit this field (unless you know what you are doing)
- In the forwardings table, insert a new record for each forwarded email addresses to user@foo.com
- Run the command line below to set up the /home/vmail/foo.com/user mail files:
- In the users table, insert a new record with the following information...
| bash code |
|---|
| mailx -s Welcome user@foo.com < /var/hda/web-apps/ams/html/config/welcome.txt |
- Add an additional mail domain (does not include any DNS MX records). Modify the mail database and substitute your information accordingly:
- Scenario - Creating a mail domain e.g. :
- domain is: bar.com
- server is: foo.bar.com
- admin user is: me@bar.com
- In the mail mySQL database tables:
- domain: add bar.com
- transport: add bar.com
- user: add me@bar.com
- forward: add postmaster@bar.com, and abuse@bar.com to me@bar.com
- Run the command line below to set up the /home/vmail/bar.com/me mail files:
- Scenario - Creating a mail domain e.g. :
| bash code |
|---|
| mailx -s Welcome me@bar.com < /var/hda/web-apps/ams/html/config/welcome.txt |
- For every domain supported, the following either need to be added as users or forwarded. Without them a site MAY end up on various spam block lists:
| Text |
|---|
| postmaster@foo.com abuse@foo.com |
Conclusion
You should now be able to log in to your account. There will be 2 messages, one is a welcome and the other is a SPAM test to show it's working. Direct any questions or comments to <support [at] amahi [dot] org>.
NOTE: These scripts were adapted from the Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 14 x86_64) tutorial written by Falko Timme.
