Changes

From Amahi Wiki
Jump to: navigation, search
7,951 bytes added ,  00:50, 20 March 2015
{{MessageBox|backgroundcolor = #FBB|image =Warning.png|heading =WARNING|message = This should only be attempted by advanced users.<br>It is still under development.}}<b>DISCLAIMER:</b> This is for Amahi 7 on [[Fedora_19|Fedora 19]] <u>ONLY</u>! Although this has been tested, use at your own risk. I cannot guarantee that it will work for your system or not cause any serious problems.<br /><br />
==== Purpose ====
The primary intent of the [http://www.amahi.org/apps/amahi-mail-system Amahi Mail System] is to allow you to use your Home Digital Assistant ([[Intro|HDA]]) as a mail server.
The primary intent of * It allows you to send/receive mail from your [[Intro|HDA]]. There are some quirks depending on if you have a registered domain with a paid service provider (i.e. [http://www.godaddy.com GoDaddy], [http://www.hostgator.com Host Gator], etc). With these services, there is typically what is called a MX record associated with the Amahi Mail System is to domain name. This will allow you to pull all ISP email into send/receive mail as your serverhostname (i.e. myhda@home. Keep in mind this is still under developmentcom).
* It allows If 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 use the free ones (i.e. [http://wwwuser.godaddyyourhda.com GoDaddy], [http://www.hostgatorno-ip.com Host Gatororg no-ip.org], etc). With these services, there is typically what is called a MX record associated with the domain name. This you will allow you have to send/receive mail [[Masquerade_email_address|masquerade your email address]] as your hostname ISP (i.e. myhda@homeyourisp.com). This will ensure you can receive email replies from those you send from your [[Intro|HDA]].
* If you use the free ones ==== Current Version ====1.05 (i.e. user.yourhda.com, [http://www.no-ip.org no-ip.org[Fedora_19|Fedora 19]])released January 1, 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.2014
==== Known Issues ====
* During the configuration, the ClamAV definitions download sometimes takes too long. It can cause the setup to fail, depending on availability of their server.
** The proposed work around is to run the ClamAV virus definition update after setup is complete.
** Comment out line 164 (<code>/usr/bin/freshclam -v</code>) in ''mail-setup.sh'' script.
** Run this separately after configuration is complete when you will see the notification ''You have 2 new messages.''
 
==== Change Log ====
* Upgraded to [[Amahi_7|Amahi 7]] on [[Fedora_19|Fedora 19]]
* Added 32-bit binaries
* Changed web page background color
* Remove quota info from web pages
* Enable port 587 for sending mail
* Removed mail quota from Postfix configuration
* Fixed certificate errors when using spaces
* Streamlined uninstall script for better cleanup
* Added script to update mail certificate
* Inserted additional logging messages
 
==== Future Enhancements ====
* Expand instructions to include how to configure mail clients
* Incorporate a mail backup mechanism
* Streamline code and validate form fields
* Move mailbox data files to share (See [[Amahi_Mail_System#Tips|Tips]] below)
 
==== How to Install/Uninstall (Automated) ====
* Special access must be requested to install [http://www.amahi.org/apps/amahi-mail-system 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 [[Intro|HDA]] so it's fresh for the install. This is not required, just a recommendation.
# Open terminal [[Open_Terminal_as_root|as '''root''' user]], and create a web app in Amahi named '''ams''' (Amahi application [https://www.amahi.org/apps/web-apps Web App] provides this capability.).
# Navigate to '''''/var/hda/web-apps/ams''''' directory.
# Download [https://dl.dropboxusercontent.com/u/1380867/mail-server-1.05.zip mail-server-1.05.zip] (sha1sum 4d5623d5d00a4d66512455deaec688fc49a34782) to this directory and extract it into '''''html''''' directory of '''''ams''''' (archive [http://dl.getdropbox.com/u/1380867/FilesList.html file list]).
# 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 <b><nowiki>http://ams</nowiki></b> 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 [[Amahi_Mail_System#Tips|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, [http://www.amahi.org/apps/roundcube Roundcube], [http://www.amahi.org/apps/atmail AtMail], or [http://www.amahi.org/apps/squirrelmail SquirrelMail] to access your new mail account.
# Use the built-in tool to manage Virtual User information in the database. [http://www.amahi.org/apps/dadabik DadaBIK], [http://www.amahi.org/apps/phpmyadmin phpMyAdmin], or [http://www.amahi.org/apps/adminer Adminer] can also be utilized.
 
===== Example Install Terminal Session =====
<pre>su -
cd /var/hda/web-apps/ams
wget https://dl.dropboxusercontent.com/u/1380867/mail-server-1.05.zip
mkdir -p elevated
cd html
unzip ../mail-server-1.05.zip
chmod 755 *.sh
chown -R apache:users * ../elevated
cp mail-setup.sh ../elevated
cp del-maildir.sh ../elevated
hda-create-db-and-user mail
mysql -umail -pmail mail < config/mail.sql</pre>
 
==== How to Uninstall (Manual) ====
To uninstall, do the following:
# Open terminal [[Open_Terminal_as_root|as '''root''' user]], 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.
# Remove the web app in Amahi named '''ams''' (Amahi application [https://www.amahi.org/apps/web-apps Web App] provides this capability.) and close the terminal window.
 
===== Example Uninstall Terminal Session =====
<pre>su -
cd /var/hda/web-apps/ams/html
hda-create-db-and-user -d mail
./mail-remove.sh</pre><br>
 
==== Add-Ons ====
<u>Mailman</u><br>
You can now add the Mailman software to your Amahi Mail System. Follow the instructions at [http://wiki.amahi.org/index.php/Amahi_Mailman Amahi Mailman].
 
<u>FetchYahoo</u>
Add capability to fetch Yahoo mail:
* Download the latest [http://fetchyahoo.twizzler.org/ FetchYahoo]
* Install instructions included
 
==== Tips ====
* To permanently change your hostname from '''localhost.localdomain''', see this [http://www.labtestproject.com/using_linux/permanently_change_hostname_on_fedora article].
* Since You can change the Login Credentials for the integrated database manager/web-based installer by doing the following:** Open the Postfix RPM was built custom, it needs to be excluded from updates. Failure to do so could break your Amahi Mail System after updatesLogin-class. Make php file in the following change to '''''/var/etchda/yum.confweb-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
exclude=postfix* Change the sender default email address format (i.e. root@hda.amahi.net) by following [[Masquerade_email_address|Masquerade email address]] tutorial.
* Update mail certificate
** Should you need to update the mail certificates, use the mail-cert-update.sh script.
** Prior to executing the script, you will want to update the values for Country, State, City, Organization, Organizational Unit, and Number of Days for the certificate to be valid.
** Once complete, you can execute the script to update the mail server certificates.
su -
cd /var/hda/web-apps/ams/html
./mail-cert-update.sh
Script download links* Move mailbox data files to share** <u>MUST</u> be accomplished prior to doing the install (Step #12).** Will ensure if you uninstall, mailbox data files will be preserved.** Create a new [[Storage_and_file_sharing#Step_2:_Create_Shares|share]] named <b>ams</b> in Amahi dashboard Shares tab.** Open terminal [[Open_Terminal_as_root|as '''root''' user]] and execute the following commands: cd /var/hda/web-apps/ams sed -i '57s|/home/vmail|/var/hda/files/ams|' html/mail-setup.sh; sed -i '65s|/home/vmail|/var/hda/files/ams|' html/mail-setup.sh; sed -i '74s|/home/vmail|/var/hda/files/ams|' html/users.php; sed -i '12s|/home/vmail|/var/hda/files/ams|' html/config/authmysqlrc;
32====Troubleshooting====* Should your mail server hang up and stop working, you can most likely fix it with the <b>mail-stop.sh</b> and <b>mail-bit: start.sh</b> scripts included in the app. httpOpen terminal [[Open_Terminal_as_root|as '''root''' user]] and do the following:<pre>cd /var/dl.getdropbox.comhda/web-apps/uams/1380867html./32bit-virtual-mail-1stop.2sh.tar.gz<br />64mail-bit: Under revisionstart.sh<br /pre>
* If you get the message " warning: SASL authentication failure: No worthy mechs found." [[Open_Terminal_as_root|open a terminal as '''root''']] and execute the following:
yum install cyrus-sasl{,-plain}
: Restart Postfix
systemctl restart postfix
<!--* 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'': <u>user@foo.com</u>
*#* ''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 <u>user@foo.com</u>
*# Run the command line below to set up the '''''/home/vmail/foo.com/user''''' mail files:
{{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: <u>bar.com</u>
*#* ''server'' is: <u>foo.bar.com</u>
*#* ''admin user'' is: <u>me@bar.com</u>
*# In the mail mySQL database tables:
*#* ''domain'': add <u>bar.com</u>
*#* ''transport'': add <u>bar.com</u>
*#* ''user'': add <u>me@bar.com</u>
*#* ''forward'': add <u>postmaster@bar.com</u>, and <u>abuse@bar.com</u> to <u>me@bar.com</u>
*# Run the command line below to set up the '''''/home/vmail/bar.com/me''''' mail files:
{{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|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.
*# To enable port 587, edit '''''/etc/postfix/master.cf''''' and uncomment the line starting with "# submission"
*# Reload postfix -->
Here's the sequence of events ==== Conclusion ====You should now be able to get the virtual email server up and running:# Create a web app log in Amahi named '''webmail'''.# Open a terminal window, become '''root''', and navigate to <u>/var/hda/web-apps/webmail</u> directory.# Download the script file (ensure you pick the correct one for your system) to this directory and extract it into the <u>html</u> directory of webmail.# From the <u>html</u> directory, run the '''host-update-virtual-mail-1.2.sh''' script. This will check your hostnameaccount. If it is not correct, you There will be given an opportunity to change it.# Once it completes2 messages, run the '''install-virtual-mail-1.2.sh''' script. The dependencies will be first one is a welcome and you must answer the prompt to continue.# Watch the script for errors. At 2 points, you will have to provide responses for the script to finish successfully.# At the first prompt for testing the pop3 server, just type '''quit'''.# The second prompt you need to type '''ehlo localhost''', then if everything appears ok then type '''quit'''.# Once the script other is complete, note the user name and passworda SPAM test.# Navigate Direct any questions or comments to <u>http[https://webmail</u> and enter your login credentialsforums.amahi.# To uninstall, run org the '''uninstall-virtual-mail-1.2.sh''' scriptforums].
You should now be in your account via webmail. There will be 2 messages, one is a welcome and <b>NOTE:</b> These scripts were adapted from the other is a SPAM test to show it's working[http://www. I forgot to mention that you can access the mail server from any email client as well within your networkhowtoforge. Unfortunatelycom/virtual-users-and-domains-with-postfix-courier-mysql-and-squirrelmail-fedora-18-x86_64 Virtual Users And Domains With Postfix, there is currently no front-end for administering accountsCourier, so you will have to modify the database via phpMyAdmin or AdminerMySQL And SquirrelMail (Fedora 18 x86_64)] tutorial written by [http://twitter.com/falko Falko Timme].
<b>NOTE:</b> These scripts were adapted from a tutorial authored by Falko Timme at [http[Category://howtoforge.net/virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-10 http://howtoforge.net/virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-10Apps]].
12,424

edits