Installation requirements (AEN 4.2.1)
=====================================

.. raw:: html

    <div class="contents local topic" id="contents">
    <ul class="simple">
    <li><a class="reference internal" href="#hardware-requirements" id="id1">Hardware requirements</a></li>
    <li><a class="reference internal" href="#software-requirements" id="id2">Software requirements</a></li>
    <li><a class="reference internal" href="#security-requirements" id="id3">Security requirements</a></li>
    <li><a class="reference internal" href="#network-requirements" id="id4">Network requirements</a></li>
    <li><a class="reference internal" href="#other-requirements" id="id5">Other requirements</a></li>
    <li><a class="reference internal" href="#what-s-next" id="id6">What&#8217;s next</a></li>
    </ul>
    </div>
    <div class="section" id="hardware-requirements">
    <h2><a class="toc-backref" href="#id1">Hardware requirements</a><a class="headerlink" href="#hardware-requirements" title="Permalink to this headline">¶</a></h2>
    <p>AEN server&#8212;At least:</p>
    <ul class="simple">
    <li>2+GB RAM.</li>
    <li>2+CPU cores.</li>
    <li>20GB storage.</li>
    </ul>
    <p>AEN gateway&#8212;At least:</p>
    <ul class="simple">
    <li>2 GB RAM.</li>
    <li>2 CPU cores.</li>
    </ul>
    <p>AEN compute (N-machines)&#8212;Configured to meet the needs of the
    projects. At least:</p>
    <ul class="simple">
    <li>2GB RAM.</li>
    <li>2 CPU cores.</li>
    <li>20 GB.</li>
    </ul>
    <p>NOTE: We recommend putting <code class="docutils literal"><span class="pre">/opt/wakari</span></code> and <code class="docutils literal"><span class="pre">/projects</span></code> on the same
    filesystem. If the project and conda env directories are on separate
    filesystems then more disk space will be required on compute nodes and
    performance will be worse.</p>
    </div>
    <div class="section" id="software-requirements">
    <h2><a class="toc-backref" href="#id2">Software requirements</a><a class="headerlink" href="#software-requirements" title="Permalink to this headline">¶</a></h2>
    <ul class="simple">
    <li>RHEL/CentOS on all nodes. Versions from 6.5 through 7.4 are supported. Other operating systems are supported. However, this document assumes RHEL or CentOS.</li>
    <li>Linux home directories&#8212;Jupyter looks in $HOME for profiles and extensions.</li>
    <li>Ability to install in AEN directory <code class="docutils literal"><span class="pre">/opt/wakari</span></code> with at least 10 GB of storage.</li>
    <li>Ability to install in Projects directory <code class="docutils literal"><span class="pre">/projects</span></code> with at least 20 GB of storage. Size depends on number and size of projects.</li>
    </ul>
    <div class="section" id="linux-system-accounts">
    <h3>Linux system accounts<a class="headerlink" href="#linux-system-accounts" title="Permalink to this headline">¶</a></h3>
    <p>Some Linux system accounts (UIDs) are added to the system during installation.</p>
    <p>If your organization requires special actions, the following list is available:</p>
    <ul>
    <li><p class="first">mongod (RHEL) or mongodb (Ubuntu/Debian)&#8212;created by the RPM or deb package.</p>
    </li>
    <li><p class="first">elasticsearch&#8212;created by RPM or deb package.</p>
    </li>
    <li><p class="first">nginx&#8212;created by RPM or deb package.</p>
    </li>
    <li><p class="first">AEN_SRVC_ACCT&#8212;created during installation of AEN, and defaults to wakari.</p>
    </li>
    <li><p class="first">ANON_USER&#8212;An account such as &#8220;public&#8221; or &#8220;anonymous&#8221; on the compute node.</p>
    <p>NOTE: If ANON_USER is not found, AEN_SRVC_ACCT will attempt to create it.
    If it fails, the project(s) will fail to start.</p>
    </li>
    <li><p class="first">ACL directories need the filesystem mounted with Posix ACL support (Posix.1e).</p>
    <p>NOTE: You can verify ACL from the command line by running <code class="docutils literal"><span class="pre">mount</span></code> and <code class="docutils literal"><span class="pre">tune2fs</span> <span class="pre">-l</span> <span class="pre">/path/to/filesystem</span> <span class="pre">|</span> <span class="pre">grep</span> <span class="pre">options</span></code>.</p>
    </li>
    </ul>
    </div>
    <div class="section" id="software-prerequisites">
    <h3>Software prerequisites<a class="headerlink" href="#software-prerequisites" title="Permalink to this headline">¶</a></h3>
    <ul>
    <li><p class="first">AEN server:</p>
    <ul class="simple">
    <li>Mongo&#8212;Equal to or higher than version 2.6.8 and lower than version 3.0.</li>
    <li>NGINX&#8212;Equal to or higher than version 1.6.2.</li>
    <li>Elasticsearch&#8212;Equal to or higher than version 1.7.2.</li>
    <li>Oracle JRE version 7 or 8.</li>
    <li>bzip2.</li>
    </ul>
    </li>
    <li><p class="first">AEN Gateway:</p>
    <ul class="simple">
    <li>bzip2.</li>
    </ul>
    </li>
    <li><p class="first">AEN compute:</p>
    <ul>
    <li><p class="first">git</p>
    </li>
    <li><p class="first">bzip2</p>
    </li>
    <li><p class="first">bash or zsh</p>
    </li>
    <li><p class="first">X Window System</p>
    <p>NOTE: If you don&#8217;t want to install the whole X Window System, you must
    install the following packages to have R plotting support:</p>
    <div class="highlight-bash"><div class="highlight"><pre><span></span>sudo yum install -y libXrender libXext libXdmcp libSM libICE libXt <span class="se">\</span>
    dejavu-sans-fonts dejavu-serif-fonts dejavu-fonts-common <span class="se">\</span>
    fontpackages-filesystem
    </pre></div>
    </div>
    </li>
    </ul>
    </li>
    </ul>
    </div>
    </div>
    <div class="section" id="security-requirements">
    <h2><a class="toc-backref" href="#id3">Security requirements</a><a class="headerlink" href="#security-requirements" title="Permalink to this headline">¶</a></h2>
    <ul class="simple">
    <li>Root or sudo access.</li>
    <li>SELinux in permissive or disabled mode.</li>
    </ul>
    <p>Edit the following file using either root or sudo access:</p>
    <div class="highlight-default"><div class="highlight"><pre><span></span><span class="o">/</span><span class="n">etc</span><span class="o">/</span><span class="n">sysconfig</span><span class="o">/</span><span class="n">selinux</span>
    </pre></div>
    </div>
    <p>Edit the following:</p>
    <div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1"># This file controls the state of SELinux on the system.</span>
        <span class="c1"># SELINUX= can take one of these three values:</span>
    <span class="c1">#     enforcing - SELinux security policy is enforced.</span>
    <span class="c1">#     permissive - SELinux prints warnings instead of enforcing.</span>
    <span class="c1">#     disabled - No SELinux policy is loaded.</span>

    <span class="n">SELINUX</span><span class="o">=</span><span class="n">enforcing</span>

    <span class="c1"># SELINUXTYPE= can take one of these two values:</span>
        <span class="c1">#     targeted - Targeted processes are protected,</span>
        <span class="c1">#     mls - Multi Level Security protection.</span>

    <span class="n">SELINUXTYPE</span><span class="o">=</span><span class="n">targeted</span>
    </pre></div>
    </div>
    <p>NOTE: You must reboot for the changes to take effect.</p>
    <p>Verify changes with <code class="docutils literal"><span class="pre">getenforce</span></code>.</p>
    </div>
    <div class="section" id="network-requirements">
    <h2><a class="toc-backref" href="#id4">Network requirements</a><a class="headerlink" href="#network-requirements" title="Permalink to this headline">¶</a></h2>
    <p>TCP Ports:</p>
    <table border="1" class="docutils">
    <colgroup>
    <col width="13%" />
    <col width="6%" />
    <col width="17%" />
    <col width="23%" />
    <col width="12%" />
    <col width="17%" />
    <col width="12%" />
    </colgroup>
    <thead valign="bottom">
    <tr class="row-odd"><th class="head">Direction</th>
    <th class="head">Type</th>
    <th class="head">Default Port</th>
    <th class="head">Protocol</th>
    <th class="head">Optional</th>
    <th class="head">Configurable</th>
    <th class="head">Comments</th>
    </tr>
    </thead>
    <tbody valign="top">
    <tr class="row-even"><td>Inbound</td>
    <td>TCP</td>
    <td>80</td>
    <td>HTTP or HTTPS</td>
    <td>No</td>
    <td>Yes</td>
    <td>Server</td>
    </tr>
    <tr class="row-odd"><td>Inbound</td>
    <td>TCP</td>
    <td>8089</td>
    <td>HTTP or HTTPS</td>
    <td>No</td>
    <td>Yes</td>
    <td>Gateway</td>
    </tr>
    <tr class="row-even"><td>Inbound</td>
    <td>TCP</td>
    <td>5002</td>
    <td>HTTP</td>
    <td>No</td>
    <td>Yes</td>
    <td>Compute</td>
    </tr>
    </tbody>
    </table>
    </div>
    <div class="section" id="other-requirements">
    <h2><a class="toc-backref" href="#id5">Other requirements</a><a class="headerlink" href="#other-requirements" title="Permalink to this headline">¶</a></h2>
    <p>As long as the above requirements are met, there are no additional dependencies
    for AEN.</p>
    <p>See also <a class="reference internal" href="../../../../anaconda-enterprise/system-requirements.html"><span class="doc">system requirements for Anaconda Repository and Anaconda Scale</span></a>.</p>
    </div>
    <div class="section" id="what-s-next">
    <h2><a class="toc-backref" href="#id6">What&#8217;s next</a><a class="headerlink" href="#what-s-next" title="Permalink to this headline">¶</a></h2>
    <p><a class="reference internal" href="prepare-for-install.html"><span class="doc">Prepare for installation</span></a>.</p>
    </div>
