iredmail-doc/html/install.iredmail.on.freebsd...

252 lines
12 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Install iRedMail on FreeBSD</title>
<link rel="stylesheet" type="text/css" href="./css/markdown.css" />
</head>
<body>
<div id="navigation">
<a href="http://www.iredmail.org" target="_blank">
<img alt="iRedMail web site"
src="./images/logo-iredmail.png"
style="vertical-align: middle; height: 30px;"
/>&nbsp;
<span>iRedMail</span>
</a>
&nbsp;&nbsp;//&nbsp;&nbsp;<a href="./index.html">Document Index</a></div><h1 id="install-iredmail-on-freebsd">Install iRedMail on FreeBSD</h1>
<div class="toc">
<ul>
<li><a href="#install-iredmail-on-freebsd">Install iRedMail on FreeBSD</a><ul>
<li><a href="#system-requirements">System Requirements</a></li>
<li><a href="#preparations">Preparations</a><ul>
<li><a href="#set-a-fully-qualified-domain-name-fqdn-hostname-on-your-server">Set a fully qualified domain name (FQDN) hostname on your server</a></li>
<li><a href="#update-ports-tree-via-portsnap">Update ports tree via portsnap</a></li>
<li><a href="#install-package-bash-static-its-required-by-iredmail">Install package bash-static, it's required by iRedMail</a></li>
<li><a href="#download-the-latest-release-of-iredmail">Download the latest release of iRedMail</a></li>
</ul>
</li>
<li><a href="#start-iredmail-installer">Start iRedMail installer</a></li>
<li><a href="#screenshots-of-installation">Screenshots of installation:</a></li>
<li><a href="#important-things-you-must-know-after-installation">Important things you MUST know after installation</a></li>
<li><a href="#access-webmail-and-other-web-applications">Access webmail and other web applications</a></li>
<li><a href="#get-technical-support">Get technical support</a></li>
</ul>
</li>
</ul>
</div>
<blockquote>
<p>If you want to install iRedMail inside FreeBSD <strong>Jail</strong>, please use
this installation guide instead:
<a href="./install.iredmail.on.freebsd.with.jail.html">Install iRedMail inside FreeBSD Jail (with ezjail)</a></p>
</blockquote>
<h2 id="system-requirements">System Requirements</h2>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>iRedMail is designed to be deployed on a <strong>FRESH</strong> server system, which
means your server does <strong>NOT</strong> have mail related components installed,
e.g. MySQL, OpenLDAP, Postfix, Dovecot, Amavisd, etc. iRedMail will install
and configure them for you automatically. Otherwise it may override your
existing files/configurations althought it will backup files before
modifying, and it may not be working as expected.</p>
</div>
<p>To install iRedMail on FreeBSD, you need:</p>
<ul>
<li>A <strong>FRESH</strong>, minimal, working FreeBSD system, no additional ports or binary
packages were installed. Supported releases are listed on
<a href="../download.html">Download</a> page.</li>
<li><code>2 GB</code> of memory is recommended for a low traffic production server.
Spam/Virus scanning will take most system resource.</li>
<li>Make sure 3 UID/GID are not used by other user/group: 2000, 2001, 2002.</li>
</ul>
<p>Note: All packages will be installed from ports tree.</p>
<h2 id="preparations">Preparations</h2>
<h3 id="set-a-fully-qualified-domain-name-fqdn-hostname-on-your-server">Set a fully qualified domain name (FQDN) hostname on your server</h3>
<p>No matter your server is a testing machine or production server, it's strongly
recommended to set a fully qualified domain name (FQDN) hostname.</p>
<p>Enter command <code>hostname -f</code> to view the current hostname:</p>
<pre><code class="shell"># hostname -f
mx.example.com
</code></pre>
<p>On FreeBSD, hostname is set in two files: <code>/etc/rc.conf</code>, <code>/etc/hosts</code>.</p>
<ul>
<li><code>/etc/rc.conf</code>: set hostname.</li>
</ul>
<pre><code># Part of File: /etc/rc.conf
hostname=&quot;mx.example.com&quot;
</code></pre>
<ul>
<li><code>/etc/hosts</code>: hostname &lt;=&gt; IP address mapping.</li>
</ul>
<pre><code># Part of file: /etc/hosts
127.0.0.1 mx.example.com mx localhost localhost.localdomain
</code></pre>
<p>Verify the FQDN hostname. If it wasn't changed, please reboot server to make it work.</p>
<pre><code># hostname -f
mx.example.com
</code></pre>
<h3 id="update-ports-tree-via-portsnap">Update ports tree via portsnap</h3>
<pre><code># portsnap fetch extract update
</code></pre>
<h3 id="install-package-bash-static-its-required-by-iredmail">Install package <code>bash-static</code>, it's required by iRedMail</h3>
<pre><code class="bash"># -- For FreeBSD 9 or earlier releases --
# pkg_add -r bash-static
# -- For FreeBSD 10 or later releases --
# pkg install bash-static
</code></pre>
<h3 id="download-the-latest-release-of-iredmail">Download the latest release of iRedMail</h3>
<ul>
<li>
<p>Visit <a href="../download.html">Download page</a> to get the
latest stable release of iRedMail.</p>
</li>
<li>
<p>Upload iRedMail to your mail server via ftp or scp or whatever method you
can use, login to the server to install iRedMail. We assume you uploaded
it to <code>/root/iRedMail-x.y.z.tar.bz2</code> (replace x.y.z by the real version number).</p>
</li>
<li>
<p>Uncompress iRedMail tarball:</p>
</li>
</ul>
<pre><code># cd /root/
# tar xjf iRedMail-x.y.z.tar.bz2
</code></pre>
<h2 id="start-iredmail-installer">Start iRedMail installer</h2>
<p>It's now ready to start iRedMail installer, it will ask you several simple
questions, that's all required to setup a full-featured mail server.</p>
<pre><code># cd /root/iRedMail-x.y.z/
# bash iRedMail.sh
</code></pre>
<div class="admonition note">
<p class="admonition-title">Note to Chinese users</p>
<p>Our domain name <code>iredmail.org</code> has been blocked in mainland China for
years (since Jun 04, 2011), please run command below to finish the
installation:</p>
<p><code>IREDMAIL_MIRROR='http://173.254.22.21' bash iRedMail.sh</code></p>
</div>
<h2 id="screenshots-of-installation">Screenshots of installation:</h2>
<ul>
<li>Welcome and thanks for your use</li>
</ul>
<p><img alt="" src="./images/installation/welcome.png" width="700px" /></p>
<ul>
<li>Specify location to store all mailboxes. Default is <code>/var/vmail/</code>.</li>
</ul>
<p><img alt="" src="./images/installation/mail_storage.png" width="700px" /></p>
<ul>
<li>Choose backend used to store mail accounts. You can manage mail accounts
with iRedAdmin, our web-based iRedMail admin panel.</li>
</ul>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>There's no big difference between available backends, so
it's strongly recommended to choose the one you're familiar with for easier
management and maintenance after installation.</p>
</div>
<p><img alt="" src="./images/installation/backends.png" width="700px" /></p>
<ul>
<li>If you choose to store mail accounts in OpenLDAP, iRedMail installer will
ask to set the LDAP suffix.</li>
</ul>
<p><img alt="" src="./images/installation/ldap_suffix.png" width="700px" /></p>
<div class="admonition note">
<p class="admonition-title">To MySQL/MariaDB/PostgreSQL users</p>
<p>If you choose to store mail accounts in MySQL/MariaDB/PostgreSQL, iRedMail
installer will generate a random, strong password for you. You can find it
in file <code>iRedMail.tips</code>.</p>
</div>
<ul>
<li>Add your first mail domain name</li>
</ul>
<p><img alt="" src="./images/installation/first_domain.png" width="700px" /></p>
<ul>
<li>Set password of admin account of your first mail domain.</li>
</ul>
<p><strong>Note</strong>: This account is an admin account and a mail user. That means you can
login to webmail and admin panel (iRedAdmin) with this account, login username
is full email address.</p>
<p><img alt="" src="./images/installation/admin_pw.png" width="700px" /></p>
<ul>
<li>Choose optional components</li>
</ul>
<p><img alt="" src="./images/installation/optional_components.png" width="700px" /></p>
<p>After answered above questions, iRedMail installer will ask you to review and
confirm to start installation. It will install and configure required packages
automatically. Type <code>y</code> or <code>Y</code> and press <code>Enter</code> to start.</p>
<p><img alt="" src="./images/installation/review.png" width="700px" /></p>
<h2 id="important-things-you-must-know-after-installation">Important things you <strong>MUST</strong> know after installation</h2>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>The weakest part of a mail server is user's weak password. Spammers don't
want to hack your server, they just want to send spam from your server.
Please <strong>ALWAYS ALWAYS ALWAYS</strong> force users to use a strong password.</p>
</div>
<ul>
<li>
<p>Read file <code>/root/iRedMail-x.y.z/iRedMail.tips</code> first, it contains:</p>
<ul>
<li>URLs, usernames and passwords of web-based applications</li>
<li>Location of mail service related software configuration files. You can
also check this tutorial instead:
<a href="./file.locations.html">Locations of configuration and log files of major components</a>.</li>
<li>Some other important and sensitive information</li>
</ul>
</li>
<li>
<p><a href="./setup.dns.html">Setup DNS records for your mail server</a></p>
</li>
<li><a href="./index.html#configure-mail-client-applications">How to configure your mail clients</a></li>
<li><a href="./file.locations.html">Locations of configuration and log files of major components</a></li>
<li>It's highly recommended to get a SSL cert to avoid annonying warning
message in web browser or mail clients when accessing mailbox via
HTTPS/IMAPS/POP3/SMTPS. <a href="https://letsencrypt.org">Let's Encrypt offers <strong>FREE</strong> SSL certificate</a>.
We have a document for you to
<a href="./use.a.bought.ssl.certificate.html">use a SSL certificate</a>.</li>
<li>If you need to bulk create mail users, check our document for
<a href="./ldap.bulk.create.mail.users.html">OpenLDAP</a> and
<a href="./sql.bulk.create.mail.users.html">MySQL/MariaDB/PostgreSQL</a>.</li>
<li>If you're running a busy mail server, we have <a href="./performance.tuning.html">some suggestions for better
performance</a>.</li>
</ul>
<h2 id="access-webmail-and-other-web-applications">Access webmail and other web applications</h2>
<p>After installation successfully completed, you can access web-based programs
if you choose to install them. Replace <code>your_server</code> below by your real server
hostname or IP address.</p>
<ul>
<li><strong>Roundcube webmail</strong>: <a href="https://your_server/mail/">https://your_server/mail/</a></li>
<li><strong>SOGo Groupware</strong>: <a href="https://your_server/SOGo">https://your_server/SOGo</a></li>
<li><strong>Web admin panel (iRedAdmin)</strong>: <a href="httpS://your_server/iredadmin/">httpS://your_server/iredadmin/</a></li>
<li><strong>Awstats</strong>: <a href="httpS://your_server/awstats/awstats.pl?config=web">httpS://your_server/awstats/awstats.pl?config=web</a> (or
<code>?config=smtp</code> for SMTP traffic log)</li>
</ul>
<h2 id="get-technical-support">Get technical support</h2>
<ul>
<li>You are welcome to post issues, feedbacks, feature requests, suggestions in
our <a href="../forum/">online support forum</a>, it's more
responsible than you expected.</li>
<li>We offer paid professional support service too, check our web site for more
details: <a href="../support.html">Get Professional Support from iRedMail Team</a>.</li>
</ul><div class="footer">
<p style="text-align: center; color: grey;">All documents are available in <a href="https://bitbucket.org/zhb/iredmail-docs/src">BitBucket repository</a>, and published under <a href="http://creativecommons.org/licenses/by-nd/3.0/us/" target="_blank">Creative Commons</a> license. You can <a href="https://bitbucket.org/zhb/iredmail-docs/get/tip.tar.bz2">download the latest version</a> for offline reading. If you found something wrong, please do <a href="http://www.iredmail.org/contact.html">contact us</a> to fix it.</p>
</div>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-3293801-21"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-3293801-21');
</script>
</body></html>