Difference between revisions of "Amahi Mail System"

From Amahi Wiki
Jump to: navigation, search
Line 3: Line 3:
 
heading =WARNING|
 
heading =WARNING|
 
message = This should only be attempted by advanced users.<br>It is still under development.}}
 
message = This should only be attempted by advanced users.<br>It is still under development.}}
<b>DISCLAIMER:</b> This is for Fedora 14 <u>ONLY</u>!  Although tested, use at your own risk. I cannot guarantee that it will work for your system or not cause any serious problems.<br />
+
<b>DISCLAIMER:</b> This is for Fedora 19 64-bit <u>ONLY</u>!  Although tested, use at your own risk. I cannot guarantee that it will work for your system or not cause any serious problems.<br />
 
<br />
 
<br />
  
Line 14: Line 14:
  
 
==== Current Version ====
 
==== Current Version ====
1.8.8 (Fedora 14) released update on May 18, 2011
+
1.0 (Fedora 19) released November 23, 2013
  
 
==== Known Issues ====
 
==== Known Issues ====
 
* Quota information present in the database needs to be removed or hidden.
 
* Quota information present in the database needs to be removed or hidden.
 +
* 32-bit binaries need to be built.
  
 
==== Change Log ====
 
==== Change Log ====
* Upgraded to Fedora 14
+
* Upgraded to Fedora 19
* 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 [http://www.amahi.org/apps/squirrelmail 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 ====
 
==== Future Enhancements ====
Line 50: Line 27:
 
* Incorporate a mail backup mechanism
 
* Incorporate a mail backup mechanism
 
* Streamline code and validate form fields
 
* Streamline code and validate form fields
 +
* Enable port 587 for sending mail
  
 
==== How to Install/Uninstall (Automated) ====
 
==== How to Install/Uninstall (Automated) ====
Line 62: Line 40:
 
# Create a web app in Amahi named '''ams'''.
 
# Create a web app in Amahi named '''ams'''.
 
# Open a terminal window, become '''root''', and navigate to '''''/var/hda/web-apps/ams''''' directory.
 
# Open a terminal window, become '''root''', and navigate to '''''/var/hda/web-apps/ams''''' directory.
# Download [http://dl.getdropbox.com/u/1380867/mail-server-1.8.8.tar.gz mail-server-1.8.8.tar.gz] (sha1sum 950bd51ecedf1c86d12c4830320f458502917a12) to this directory and extract it into '''''html''''' directory of '''''ams''''' (archive [http://dl.getdropbox.com/u/1380867/FilesList.html content]).
+
# Download [https://dl.dropboxusercontent.com/u/1380867/mail-server-1.0.zip mail-server-1.0.zip] (sha1sum 6a2cb6aa290644c9faba1fe89bf13dd9e185ef21) to this directory and extract it into '''''html''''' directory of '''''ams''''' (archive [http://dl.getdropbox.com/u/1380867/FilesList.html content]).
 
# Ensure you recursively change ownership of the files to apache:users.
 
# 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.
 
# Need to make a directory called '''''elevated''''' in '''''ams'''''.  Copy mail-setup.sh and del-maildir.sh to that location.
Line 77: Line 55:
 
{{Code|su -
 
{{Code|su -
 
cd /var/hda/web-apps/ams
 
cd /var/hda/web-apps/ams
wget http://dl.getdropbox.com/u/1380867/mail-server-1.8.8.tar.gz
+
wget https://dl.dropboxusercontent.com/u/1380867/mail-server-1.0.zip
 
mkdir elevated
 
mkdir elevated
 
cd html
 
cd html
tar -xzpf ../mail-server-1.8.8.tar.gz
+
unzip ../mail-server-1.0.zip
 
cp mail-setup.sh ../elevated
 
cp mail-setup.sh ../elevated
 
cp del-maildir.sh ../elevated
 
cp del-maildir.sh ../elevated
Line 111: Line 89:
 
* Download the latest [http://fetchyahoo.twizzler.org/ FetchYahoo]
 
* Download the latest [http://fetchyahoo.twizzler.org/ FetchYahoo]
 
* Install instructions included
 
* Install instructions included
 
  
 
==== Tips ====
 
==== Tips ====
Line 117: Line 94:
 
* 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 :
 
* 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 :
 
<blockquote>'''''start.sh''''' (execute stop.sh first):
 
<blockquote>'''''start.sh''''' (execute stop.sh first):
{{Text|Text=/etc/init.d/courier-authlib start;
+
{{Text|Text=systemctl start courier-authlib.service;
/etc/init.d/sendmail stop;
+
systemctl stop sendmail.service;
/etc/init.d/postfix start;
+
systemctl start postfix.service;
/etc/init.d/saslauthd start;
+
systemctl start saslauthd.service;
/etc/init.d/courier-authlib restart;
+
systemctl restart courier-authlib.service;
/etc/init.d/courier-imap start;
+
systemctl start courier-imap.service;
 
/usr/bin/freshclam;
 
/usr/bin/freshclam;
/etc/init.d/amavisd start;
+
systemctl start amavisd.service;
/etc/init.d/clamd.amavisd start;
+
systemctl start clamd.amavisd.service;
/etc/init.d/postfix start;
+
systemctl start postfix.service;
 
spamassassin --lint;
 
spamassassin --lint;
/etc/init.d/amavisd restart;
+
systemctl start amavisd.service;
 
sa-update --no-gpg;}}
 
sa-update --no-gpg;}}
 
'''''stop.sh''''' (run prior to start.sh):
 
'''''stop.sh''''' (run prior to start.sh):
{{Text|Text=/etc/init.d/courier-authlib stop;
+
{{Text|Text=systemctl stop courier-authlib.service;
/etc/init.d/sendmail stop;
+
systemctl stop sendmail.service;
/etc/init.d/postfix stop;
+
systemctl stop postfix.service;
/etc/init.d/saslauthd stop;
+
systemctl stop saslauthd.service;
/etc/init.d/courier-imap stop;
+
systemctl stop courier-imap.service;
/etc/init.d/amavisd stop;
+
systemctl stop amavisd.service;
/etc/init.d/clamd.amavisd stop;
+
systemctl stop clamd.amavisd.service;
rm -f /var/spool/amavisd/clamd.sock;}}
+
rm -f /var/spool/amavisd/clamd.sock}}
 
Ensure you set the permissions on both files:
 
Ensure you set the permissions on both files:
 
{{Code|chown apache:users start.sh stop.sh
 
{{Code|chown apache:users start.sh stop.sh
Line 177: Line 154:
  
  
<b>NOTE:</b>  These scripts were adapted from the [http://www.howtoforge.com/virtual-users-and-domains-with-postfix-courier-mysql-and-squirrelmail-fedora-14-x86_64 Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 14 x86_64)] tutorial written by [http://twitter.com/falko Falko Timme].
+
<b>NOTE:</b>  These scripts were adapted from the [http://www.howtoforge.com/virtual-users-and-domains-with-postfix-courier-mysql-and-squirrelmail-fedora-18-x86_64 Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 18 x86_64)] tutorial written by [http://twitter.com/falko Falko Timme].
  
  
 
[[Category:Apps]]
 
[[Category:Apps]]

Revision as of 19:32, 23 November 2013

Warning.png WARNING
This should only be attempted by advanced users.
It is still under development.


DISCLAIMER: This is for Fedora 19 64-bit 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.0 (Fedora 19) released November 23, 2013

Known Issues

  • Quota information present in the database needs to be removed or hidden.
  • 32-bit binaries need to be built.

Change Log

  • Upgraded to Fedora 19

Future Enhancements

  • Expand instructions to include how to configure mail clients
  • Incorporate a mail backup mechanism
  • Streamline code and validate form fields
  • Enable port 587 for sending mail

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:

  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 ams.
  4. Open a terminal window, become root, and navigate to /var/hda/web-apps/ams directory.
  5. Download mail-server-1.0.zip (sha1sum 6a2cb6aa290644c9faba1fe89bf13dd9e185ef21) to this directory and extract it into html directory of ams (archive content).
  6. Ensure you recursively change ownership of the files to apache:users.
  7. Need to make a directory called elevated in ams. Copy mail-setup.sh and del-maildir.sh to that location.
  8. Ensure mail-setup.sh and del-maildir.sh are executable.
  9. Create the database and insert the data from the mail.sql file located in the config directory.
  10. Navigate to http://ams in your favorite web browser and you should see the login page.
  11. Enter credentials (admin/amahi) and choose Login to display the install page (See Tips for how to change the login info).
  12. Complete all the required info. Once finished, select the click the NEXT button and the data will be added to the database.
  13. 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.
  14. Use your favorite mail client, Roundcube, AtMail, or SquirrelMail to access your new mail account.
  15. 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 wget https://dl.dropboxusercontent.com/u/1380867/mail-server-1.0.zip mkdir elevated cd html unzip ../mail-server-1.0.zip cp mail-setup.sh ../elevated cp del-maildir.sh ../elevated chmod 755 ../elevated/mail-setup.sh ../elevated/del-maildir.sh chown -R apache:users ../html ../elevated hda-create-db-and-user mail mysql -umail -pmail mail < config/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/ams/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 ams.
Example Uninstall Terminal Session
bash code
​su - cd /var/hda/web-apps/ams/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.
  • 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
​systemctl start courier-authlib.service; systemctl stop sendmail.service; systemctl start postfix.service; systemctl start saslauthd.service; systemctl restart courier-authlib.service; systemctl start courier-imap.service; /usr/bin/freshclam; systemctl start amavisd.service; systemctl start clamd.amavisd.service; systemctl start postfix.service; spamassassin --lint; systemctl start amavisd.service; sa-update --no-gpg;​

stop.sh (run prior to start.sh):

Text
​systemctl stop courier-authlib.service; systemctl stop sendmail.service; systemctl stop postfix.service; systemctl stop saslauthd.service; systemctl stop courier-imap.service; systemctl stop amavisd.service; systemctl stop clamd.amavisd.service; 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:
    1. Open the Login-class.php file in the /var/hda/web-apps/ams/html directory
    2. On lines 29 and 32, change to whatever works for you
    3. Save and now you can log in using the new credentials

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 18 x86_64) tutorial written by Falko Timme.