{"id":3372,"date":"2016-07-14T12:50:12","date_gmt":"2016-07-14T12:50:12","guid":{"rendered":"http:\/\/www.kevinmaschke.com\/en\/?p=3372"},"modified":"2017-03-01T12:30:20","modified_gmt":"2017-03-01T12:30:20","slug":"zimbra-collaboration-8-6-prerequisites","status":"publish","type":"post","link":"https:\/\/www.kevinmaschke.com\/en\/zimbra-collaboration-8-6-prerequisites\/","title":{"rendered":"Zimbra Collaboration 8.6 &#8211; Prerequisites"},"content":{"rendered":"<p style=\"text-align: justify;\">As I explained in <a href=\"http:\/\/www.kevinmaschke.com\/en\/linux-en\/zimbra-collaboration-8-6\/\">my first entry<\/a> about Zimbra Collaboration, I&#8217;m going to dedicate a few articles to explain its\u00a0prerequisites, installation and configuration, and to continue with this series, I&#8217;m going to dedicate this part to the prerequisites that are necessary to install Zimbra Collaboration 8.6.<\/p>\n<h2>Dependencies for Zimbra Collaboration<\/h2>\n<p style=\"text-align: justify;\">First we have to install some dependencies that <strong>are necessary to be able to run and use Zimbra<\/strong>. To do this, we use the following command:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">sudo apt-get install libgmp10 libperl5.18 libaio1 unzip pax sysstat sqlite3 wget<\/pre>\n<p style=\"text-align: justify;\">Once the dependencies are installed, we have to configure the servers network.<\/p>\n<h2>Network Configuration<\/h2>\n<p style=\"text-align: justify;\">As in any server, we will aim for a manual network configuration. <strong>It&#8217;s preferable to have a static IP<\/strong> instead of it being assigned by DHCP, since we want to avoid the IP from changing\u00a0after some time or any restart and lose connection to the server or the mail to stop working until we fix the issue. It is also possible to configure the DHCP server to always assign the same IP to the server, but the recommended way is to use a manually assigned IP.<\/p>\n<h3>Hostname<\/h3>\n<p style=\"text-align: justify;\">First we&#8217;ll review the <code class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">\/etc\/hostname<\/code>\u00a0file. This file includes the name of the machine, the name we want the server to have. <strong>It does only contain one name with which the server should easily be identified<\/strong> (especially if you have a large number of servers). If the server is only going to be used as a mail server and for one domain or customer, something simple as &#8220;<em>Mail<\/em>&#8220;, &#8220;<em>MailServer<\/em>&#8220;, or &#8220;<em>mail.domain.com<\/em>&#8221; can be used. To review and edit this file we can use either VIM or NANO as text editors. I personally am more used to VIM:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">sudo vim \/etc\/hostname\r\nMailServer<\/pre>\n<h3>Hosts<\/h3>\n<p style=\"text-align: justify;\">Once we&#8217;ve set the name of the server, we&#8217;re going to edit the <code class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">\/etc\/hosts<\/code> file. Do not confuse this file this the previous Hostname. While in the first one we set the name of the server, <strong>in this one we set which names (domains) this server will respond to<\/strong>. In this file we&#8217;ll put the domains with which the server will be accessible. We&#8217;ll open the file with:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">sudo vim \/etc\/hosts<\/pre>\n<p style=\"text-align: justify;\">And we will find something similar to the following:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">127.0.0.1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 localhost\r\n127.0.1.1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MailServer.example.com\u00a0\u00a0 MailServer<\/pre>\n<p style=\"text-align: justify;\">Under this we will probably also find some lines for IPv6, but we will ignore these since they currently do not affect us. Just under the first two lines and before the IPv6 dedicated lines, we will add the IP and the domain names we want the server to respond to:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">192.168.1.2\u00a0\u00a0 mail MailServer mail.MailServer.com mail.dominio.com<\/pre>\n<p style=\"text-align: justify;\">If the server has multiple IPs, these will be added in individual lines.<\/p>\n<h3>Manual Network \/ IP Configuration<\/h3>\n<p style=\"text-align: justify;\">Once we have modified the Hosts and Hostname files, <strong>we&#8217;ll manually set the IP configuration<\/strong>. To do this, we have to edit the <code class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">\/etc\/network\/interfaces<\/code> file:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">sudo vim \/etc\/network\/interfaces<\/pre>\n<p style=\"text-align: justify;\">Once we open this file, if we have installed Ubuntu using a DHCP network configuration, we&#8217;ll see that there will already be quite some content similar to the following:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\"># This file describes the network interfaces available on your system\r\n# and how to activate them. For more information, see interfaces(5).\r\n\r\n# The loopback network interface\r\nauto lo\r\niface lo inet loopback\r\n\r\n# The primary network interface\r\nauto eth0\r\niface eth0 inet dhcp<\/pre>\n<p style=\"text-align: justify;\">This configuration should be enough for any workstation or test server, but for a server that will be used in a production environment, we will have to set a manual configuration. To do this, we will comment out the following two lines:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">#auto eth0\r\n#iface eth0 inet dhcp<\/pre>\n<p>And add the following lines at the end making sure that the IPs are correct and part of our network:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\"># Static IP\r\nauto eth0\r\niface eth0 inet static\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 address 192.168.1.2\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 netmask 255.255.255.0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 gateway 192.168.1.1\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dns-nameservers 8.8.8.8<\/pre>\n<p style=\"text-align: justify;\"><code class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">dns-nameservers 8.8.8.8<\/code>\u00a0can be changed to any preferred DNS server. In this case we use Googles&#8217; DNS server.<\/p>\n<p style=\"text-align: justify;\">Once we&#8217;ve finished all the changes, we can apply them. The easiest way to do this is to restart the server. This can be done by using one of the following commands:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">sudo reboot<\/pre>\n<p>Or<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">sudo shutdown \u2013r now<\/pre>\n<p style=\"text-align: justify;\"><span style=\"color: #ff0000;\"><strong>IMPORTANT<\/strong><\/span>: It&#8217;s important to review the modifications and make sure they are all correct. If there is any mistake, we may lose the connection to the server with the restart and will have to use other ways that SSH (such as vSphere or some kind of KVM) to gain access again and fix the mistake.<\/p>\n<p style=\"text-align: justify;\">And with this we finish the first part of the prerequisites to install Zimbra Collaboration 8.6. In the next part we will go over how to install and configure DNSMasq and integrate it with our server so that Zimbra can make use of it.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As I explained in my first entry about Zimbra Collaboration, I&#8217;m going to dedicate a few articles to explain its\u00a0prerequisites, installation and configuration, and to continue with this series, I&#8217;m going to dedicate this part &#8230;<\/p>\n","protected":false},"author":1,"featured_media":3477,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[207,410],"tags":[639,641,643,657,645,659,647],"class_list":["post-3372","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux-en","category-guides","tag-email","tag-ews-en","tag-imapsync-en","tag-installation","tag-open-source-en","tag-prerequisites","tag-zimbra-en"],"acf":{"book_cover":null,"special_featured_image":null},"_links":{"self":[{"href":"https:\/\/www.kevinmaschke.com\/en\/wp-json\/wp\/v2\/posts\/3372","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kevinmaschke.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kevinmaschke.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kevinmaschke.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kevinmaschke.com\/en\/wp-json\/wp\/v2\/comments?post=3372"}],"version-history":[{"count":0,"href":"https:\/\/www.kevinmaschke.com\/en\/wp-json\/wp\/v2\/posts\/3372\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kevinmaschke.com\/en\/wp-json\/wp\/v2\/media\/3477"}],"wp:attachment":[{"href":"https:\/\/www.kevinmaschke.com\/en\/wp-json\/wp\/v2\/media?parent=3372"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kevinmaschke.com\/en\/wp-json\/wp\/v2\/categories?post=3372"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kevinmaschke.com\/en\/wp-json\/wp\/v2\/tags?post=3372"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}