Amahi Mail System

From Amahi Wiki
Jump to: navigation, search
Warning.png 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.

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.4 (Fedora 14) released 30 Apr 11

Known Issues

  • None

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 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 to install log
  • Added database front-end for virtual user management
  • Created separate install and help guidance

Future Enhancements

  • Add login interface for built-in database manager
  • Expand intructions to include how to configure mail clients
  • Incorporate a mail backup mechanism

How to Install/Uninstall (Automated)

  • Privileged access required 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:

  1. Restart your HDA so it's fresh for the install. This is not required, just a recommendation.
  2. Enable Advanced Settings in the Amahi Dashboard (Settings-->Settings)
  3. Create a web app in Amahi named mail.
  4. Open a terminal window, become root, and navigate to /var/hda/web-apps/mail directory.
  5. Download mail-server.tar.gz (sha1sum 6960fd5ed45fa9d241b988cfa132537adf49366e) to this directory and extract it into html directory of mail (archive content).
  6. Ensure you change ownership of the files.
  7. Need to make a directory called elevated in mail and copy mail-setup.sh to that location.
  8. Ensure mail-setup.sh is executable.
  9. Create the database and insert the data from the mail.sql file located in the conf directory.
  10. Navigate to http://mail in your favorite web browser and you should see the install page.
  11. Complete all the required info. Ensure you do not uses spaces in any data fields (i.e. mycity, my_city, or my.city are acceptable). Once finished, select the click the SUBMIT button and the data will be added to the database.
  12. Next, a screen will appear with a INSTALL button, click it to begin. You will also notice a log link so you can watch the install.
  13. Use your favorite mail client, Roundcube, AtMail, or SquirrelMail to access your new mail account.
  14. Install DadaBIK, phpMyAdmin, or Adminer to manage Virtual User information in the database.
Example Install Terminal Session
bash code
​su - cd /var/hda/web-apps/mail wget http://dl.getdropbox.com/u/1380867/mail-server.tar.gz mkdir elevated cd html tar -xzpf ../mail-server.tar.gz cp mail-setup.sh ../elevated chown -R apache:users ../html ../elevated hda-create-db-and-user mail mysql -umail -pmail mail < conf/mail.sql​


How to Uninstall (Manual)

To uninstall, do the following:

  1. Open a terminal window, become root, and navigate to /var/hda/web-apps/mail/html directory.
  2. Remove the database.
  3. Ensure mail-remove.sh is executable.
  4. From the html directory, run the script. This may take a while to complete.
  5. Close the terminal window and remove the web app in Amahi named mail.
Example Uninstall Terminal Session
bash code
​su - cd /var/hda/web-apps/mail/html chmod 755 mail-remove.sh hda-create-db-and-user -d mail ./mail-remove.sh​


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.
  • For https, most certificates are self-signed. You may need to follow the procedures listed here when accessing http://webmail.
  • These are the steps needed to add NEW users to the foo.com domain (does not include any DNS MX records). Use phpMyAdmin or Adminer to modify the mail database and substitute your information accordingly. In the mail mySQL database:
    1. 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 and click the "Go" button)
      • quota: do NOT edit this field (unless you know what you are doing)
      • Click the "Go" button
    2. In the forwardings table, insert a new record for each forwarded email addresses to user@foo.com and click the "Go" button
    3. Run the command line below to set up the /home/vmail/foo.com/user mail files:
bash code
​mailx -s Welcome user@foo.com < /var/hda/web-apps/mail/html/config/welcome.txt​
  • These are the steps needed to add an additional mail domain (does not include any DNS MX records). Use phpMyAdmin or Adminer to modify the mail database and substitute your information accordingly.
    1. Creating a mail domain e.g. :
      • domain is: bar.com
      • server is: foo.bar.com
      • admin user is: me@bar.com
    2. 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
    3. Run the command line below to set up the /home/vmail/bar.com/me mail files:
bash code
​mailx -s Welcome me@bar.com < /var/hda/web-apps/mail/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​
  • Some ISPs block port 25 for mail. Thus a remote user would be able to retrieve mail, but not send mail. To accommodate this, port 587 is used by email clients for sending mail.
    1. To enable port 587, edit /etc/postfix/master.cf and uncomment the line starting with "# submission"
    2. Reload postfix

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.