Changes

From Amahi Wiki
Jump to: navigation, search
5,119 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 [[CategoryFedora_19|Fedora 19]] <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 /> ==== Purpose ====The primary intent of the [http:Apps//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. * 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 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, [http://www.no-ip.org no-ip.org], etc), you will have to [[Masquerade_email_address|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 [[Intro|HDA]].
==NOTE: This should only be attempted by advanced users.==Current Version ====1.05 ([[Fedora_19|Fedora 19]]) released January 1, 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.''
<b>DISCLAIMER:</b> Although this has been tested, use at your own risk. I cannot guarantee that it will work ==== 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 your system or not cause any serious problems. 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)
==== Purpose How to Install/Uninstall (Automated) ====The primary intent of the * Special access must be requested to install [http://www.amahi.org/apps/amahi-mail-system Amahi Mail System is to allow you to pull all ISP email into your server]. Keep * Once granted, install/uninstall via the Applications tab in mind this is still under developmentthe Amahi Dashboard.
* It allows you ==== How to send/receive mail from your HDA. There are some quirks depending on if you have a registered domain with a paid service provider Install (i.e. [http://www.godaddy.com GoDaddy], [http://www.hostgator.com Host Gator]Manual). 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 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 free ones 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''' (iAmahi application [https://www.amahi.org/apps/web-apps Web App] provides this capability.e). user# Navigate to '''''/var/hda/web-apps/ams''''' directory.# Download [https://dl.yourhdadropboxusercontent.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://wwwdl.no-ipgetdropbox.org no-ipcom/u/1380867/FilesList.orghtml file list]), .# Ensure you will have 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 masquerade <b><nowiki>http://ams</nowiki></b> in your email address as your ISP favorite web browser and you should see the login page.# Enter credentials (admin/amahi) and choose Login to display the install page (iSee [[Amahi_Mail_System#Tips|Tips]] for how to change the login info).e# Complete all the required info. myhda@yourisp Once finished, select the click the '''NEXT''' button and the data will be added to the database.com)# Next, a screen will appear with a '''INSTALL''' button, click it to begin. This You will ensure also notice a log link so you can receive email replies from those you send from 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 HDAnew 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.
==== Current Version =Example Install Terminal Session =====<pre>su -cd /var/hda/web-apps/amswget https://dl.dropboxusercontent.com/u/1380867/mail-server-1.05.zipmkdir -p elevatedcd htmlunzip ../mail-server-1.75 (Fedora 12) released 9 Feb 1005.zipchmod 755 *.shchown -R apache:users * ../elevatedcp mail-setup.sh ../elevatedcp del-maildir.sh ../elevatedhda-create-db-and-user mailmysql -umail -pmail mail < config/mail.sql</pre>
==== How to Uninstall (Manual) ====To uninstall, do the following:# Open terminal [[httpOpen_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://wikiwww.amahi.org/imagesapps/1/1c/Amahiweb-Mail-Systemapps Web App] provides this capability.) and close the terminal window.PNG Login Screen Shot]
==== Change Log = Example Uninstall Terminal Session =====* Added secure (https) webmail access.<pre>su -* Added update to yum.conf file to exclude postfix from updates.cd /var/hda/web-apps/ams/html* Updated custom RPMs to latest version for Fedora 10.* Added automated cronjob removal for uninstall.hda-create-db-and-user -d mail* Optimized script code to eliminate redundancy.* Corrected some minor bugs.* Added /mail quota exceeded notification.* Customized login screen.* Updated scripts and RPMs to Fedora 12-remove.sh</pre><br>
==== Script download links: Add-Ons ====32-bit: http://dl.getdropbox.com<u>Mailman</u/1380867/32bit-virtual-mail-1.75.tar.gz><br />64-bit: You can now add the Mailman software to your Amahi Mail System. Follow the instructions at [http://dlwiki.getdropboxamahi.comorg/u/1380867index.php/64bit-virtual-mail-1.75.tarAmahi_Mailman Amahi Mailman].gz<br />
==== How to Install ====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.# Create a web app in Amahi named '''webmail'''.# Open a terminal window, become '''root''', and navigate to <u>/var/hda/web-apps/webmailFetchYahoo</u> directory.# Download script file (pick the correct one for your system) Add capability to this directory and extract it into <u>html</u> directory of webmail.# From the <u>html</u> directory, run the '''host-update-virtual-fetch Yahoo mail-1.75.sh''' script. This will check your hostname. If it is not correct, you will be given an opportunity to change it.# Answer all the questions. The answers will further customize your install. '''Note:''' Mail user name and password must be one word only (i.e. mailuser, mail_user, or mail.user are acceptable)# Once it completes, run the '''install-virtual-mail-1.75.sh''' script. The dependencies will be installed first. Depending on your system, 68 is the typical amount for install on a new system.# Watch the script for errors. This may help narrow down the problem if you cannot log in.# Once the script is complete, note * Download the user name and password.# Navigate to <u>latest [http://webmail<fetchyahoo.twizzler.org/u> and enter your login credentials.FetchYahoo]# To uninstall, run the '''uninstall-virtual-mail-1.75.sh''' script.* 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].
 * 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** For httpsOn lines 29 and 32, most change to whatever works for you** Save and now you can log in using the new credentials * 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 are self, use the mail-cert-signedupdate.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 - You may need cd /var/hda/web-apps/ams/html ./mail-cert-update.sh * Move mailbox data files to share** <u>MUST</u> be accomplished prior to follow doing the procedures listed install (Step #12).** Will ensure if you uninstall, mailbox data files will be preserved.** Create a new [[Web_Browser_TipsStorage_and_file_sharing#Step_2:_Create_Shares|hereshare]] when accessing named <b>ams</b> in Amahi dashboard Shares tab.** Open terminal [http[Open_Terminal_as_root|as '''root''' user]] and execute the following commands: cd /var/hda/web-apps/ams sed -i '57s|/webmail httphome/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; ====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-start.sh</b> scripts included in the app. Open terminal [[Open_Terminal_as_root|as '''root''' user]] and do the following:<pre>cd /var/hda/web-apps/ams/html./mail-stop.sh./webmail]mail-start.sh</pre> * If you get the message " warning: SASL authentication failure: No worthy mechs found." These are [[Open_Terminal_as_root|open a terminal as '''root''']] and execute the steps needed to add 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). Use [http://www.amahi.org/apps/phpmyadmin phpMyAdmin] to modify Modify the '''mail''' database and substitute your information accordingly.** In the '''mail''' mySQL database:*** # In the '''users''' table: **** Insert , 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 and click the "Go" button)****#* ''quota'': do NOT edit this field (unless you know what you are doing)***** Click the "Go" button*** # In the '''forwardings''' table:**** Insert , insert a new record for each forwarded email addresses to <u>user@foo.com</u> and click the "Go" button** # 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/webmailams/html/patchconfig/welcome.txt}}* These are the steps needed to add Add an additional mail domain (does not include any DNS MX records). Use [http://www.amahi.org/apps/phpmyadmin phpMyAdmin] to modify 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/webmailams/html/patchconfig/welcome.txt==== Future Plans ====}}* Add additional Squirrelmail [httpFor 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://squirrelmail{{Text|Text=postmaster@foo.org/plugins.php plugins]comabuse@foo.com}}--><!--* Database front end Some ISPs block port 25 for mail. Thus a remote user would be able to manage usersretrieve mail, accountsbut not send mail. To accommodate this, etcport 587 is used by email clients for sending mail.* Include interface # To enable port 587, edit '''''/etc/postfix/master.cf''''' and uncomment the line starting with fetchmail to automatically retrieve mail."# submission"* Change dependency on MYSQL root user for database creation.# Reload postfix -->
==== Conclusion ====
You should now be able to log in to your account via webmail. There will be 2 messages, one is a welcome and the other is a SPAM test to show it's working. I forgot Direct any questions or comments to mention that you can access the mail server from any email client (i[https://forums.eamahi. Thunderbird, MS Outlook, etc) as well within your networkorg the forums].
 <b>NOTE:</b> These scripts were adapted from a tutorial authored by Falko Timme at the [http://www.howtoforge.com/virtual-users-and-domains-with-postfix-courier-mysql-and-squirrelmail-fedora-1218-x86_64 Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 18 x86_64)] tutorial written by [http://www.howtoforgetwitter.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64falko Falko Timme].  [[Category:Apps]]
12,424

edits