---
title: Apache CloudStack Downloads
---

<%
    #
    #  Version details in data/cloudstack.yml
    #
%>
<div class="row">

<div class="col-lg-12">

<div class="page-header">

<h1 id="indicators">Apache CloudStack: Downloads</h1>

</div>

</div>

</div>

<div class="bs-example">

<div class="row">

<div class="col-lg-6">

<h2>Latest CloudStack Releases</h2>
<p>The CloudStack community maintains two types of releases; the main releases and the LTS (Long Term Support) releases. The LTS releases receive bug and security fixes for a period of two years (for more details <a href="https://cwiki.apache.org/confluence/display/CLOUDSTACK/LTS"><i>click here</i></a>). The main releases receive only critical bug fixes for a short period. The general expectation is that the users of the 'main' will upgrade to a new version in order to receive fixes.</p>

<h3>Source Releases</h3>
<p>Apache CloudStack's most recent release is <%= data.cloudstack.versions.main %> and is an LTS release.
</p>

<p>
    <a href="http://www.apache.org/dyn/closer.lua/cloudstack/releases/<%= data.cloudstack.versions.main %>/apache-cloudstack-<%= data.cloudstack.versions.main %>-src.tar.bz2">
        <button type="button" class="btn btn-primary btn-md">
            Get the <%= data.cloudstack.versions.main %> Source
        </button>
    </a>
    <a href="http://www.apache.org/dist/cloudstack/KEYS">
        <button type="button" class="btn btn-info btn-xs">
            KEYS
        </button>
    </a>
    <a href="http://www.apache.org/dist/cloudstack/releases/<%= data.cloudstack.versions.main %>/apache-cloudstack-<%=  data.cloudstack.versions.main %>-src.tar.bz2.asc">
        <button type="button" class="btn btn-info btn-xs">
            PGP
        </button>
    </a>
    <a href="http://www.apache.org/dist/cloudstack/releases/<%= data.cloudstack.versions.main %>/apache-cloudstack-<%=  data.cloudstack.versions.main %>-src.tar.bz2.md5">
        <button type="button" class="btn btn-info btn-xs">
            MD5
        </button>
    </a>
    <a href="http://www.apache.org/dist/cloudstack/releases/<%= data.cloudstack.versions.main %>/apache-cloudstack-<%=     data.cloudstack.versions.main %>-src.tar.bz2.sha512">
        <button type="button" class="btn btn-info btn-xs">
            SHA512
        </button>
    </a>
</p>

<p>Full release notes can be found in the <a href="http://docs.cloudstack.apache.org/en/<%= data.cloudstack.versions.main %>/releasenotes/">version <%= data.cloudstack.versions.main %> Release Notes</a> website.</p><br/>

<p>Apache CloudStack's previous LTS release was <%= data.cloudstack.versions.lts %>.
</p>

<p>
    <a href="http://www.apache.org/dyn/closer.lua/cloudstack/releases/<%= data.cloudstack.versions.lts %>/apache-cloudstack-<%= data.cloudstack.versions.lts %>-src.tar.bz2">
        <button type="button" class="btn btn-primary btn-md">
            Get the <%= data.cloudstack.versions.lts %> Source
        </button>
    </a>
    <a href="http://www.apache.org/dist/cloudstack/KEYS">
        <button type="button" class="btn btn-info btn-xs">
            KEYS
        </button>
    </a>
    <a href="http://www.apache.org/dist/cloudstack/releases/<%= data.cloudstack.versions.lts %>/apache-cloudstack-<%=  data.cloudstack.versions.lts %>-src.tar.bz2.asc">
        <button type="button" class="btn btn-info btn-xs">
            PGP
        </button>
    </a>
    <a href="http://www.apache.org/dist/cloudstack/releases/<%= data.cloudstack.versions.lts %>/apache-cloudstack-<%=  data.cloudstack.versions.lts %>-src.tar.bz2.md5">
        <button type="button" class="btn btn-info btn-xs">
            MD5
        </button>
    </a>
    <a href="http://www.apache.org/dist/cloudstack/releases/<%= data.cloudstack.versions.lts %>/apache-cloudstack-<%=     data.cloudstack.versions.lts %>-src.tar.bz2.sha512">
        <button type="button" class="btn btn-info btn-xs">
            SHA512
        </button>
    </a>
</p>

<p>Full release notes can be found in the <a href="http://docs.cloudstack.apache.org/projects/cloudstack-release-notes/en/<%= data.cloudstack.versions.lts %>/">version <%= data.cloudstack.versions.lts %> Release Notes</a> website.</p>

<p>Instructions for building from source and installing Apache CloudStack can be found in the <a href="http://docs.cloudstack.apache.org/en/4.11.2.0/installguide/">Installation Guide</a>. Instructions for building from source and upgrading from a previous version of CloudStack to Apache CloudStack <%= data.cloudstack.versions.main %> can be found in the upgrade section of the Release Notes (see above).</p>

</div>

<div class="col-lg-6">

<div class="panel panel-default">

<div class="panel-heading">

<h3 class="panel-title">Verifying Downloads</h3>

</div>

<div class="panel-body">

<p>
It's essential that you verify the integrity of the downloaded files using the PGP or MD5 signatures.
The PGP signatures can be verified using PGP or GPG. First download the
<a href="https://dist.apache.org/repos/dist/release/cloudstack/KEYS">KEYS</a> as well as the asc
signature file for the relevant distribution. Make sure you get these files from the
main distribution directory, rather than from a mirror. Then verify the signatures using:
</p>
<pre>
    % pgpk -a KEYS
    % pgpv apache-cloudstack-X.X.X-src.tar.bz2.asc
</pre>
<p>or</p>
<pre>
    % pgp -ka KEYS
    % pgp apache-cloudstack-X.X.X-src.tar.bz2.asc
</pre>
<p>or</p>
<pre>
    % gpg --import KEYS
    % gpg --verify apache-cloudstack-X.X.X-src.tar.bz2.asc
</pre>
<p>
Additionally, you can verify the MD5 or SHA512 signatures on the files.
</p>

</div>
</div>
</div>
</div>
</div>

<h2>Packages</h2>

<h4>Community Packages</h4>
<p>For easier installation or upgrades, the official source code release has been supplemented by community members who have chosen to provide package repositories that also include noredis libraries.</p>

<ul>
    <li>DEB repository: <a href="http://download.cloudstack.org/ubuntu">http://download.cloudstack.org/ubuntu</a></li>
    <li>CentOS/RHEL 6 RPM repository: <a href="http://download.cloudstack.org/centos/6/">http://download.cloudstack.org/centos/6/</a></li>
    <li>CentOS/RHEL 7 RPM repository: <a href="http://download.cloudstack.org/centos/7/">http://download.cloudstack.org/centos/7/</a></li>
</ul>

<p>Instructions for using these community provided repositories can be found in the <a href="http://docs.cloudstack.apache.org/en/4.11.2.0/installguide/management-server/#configure-package-repository">Configure Package Repository</a> section of the Installation Guide.</p>

<h4>Packages hosted by 3rd Parties</h4>

<ul>
    <li>CloudStack (noredist) Packages by ShapeBlue: <a href="http://shapeblue.com/packages/">http://shapeblue.com/packages</a></li>
</ul>

<div class="row">

<div class="col-lg-12">

<div class="page-header">

<h2 id="cloudmonkey">Latest CloudMonkey Release</h2>

</div>

</div>

</div>

Apache CloudStack's CloudMonkey tool is a CLI and shell environment designed for interacting with CloudStack-based clouds.

#### Source Release

CloudMonkey's current release is <%= data.cloudstack.cloudmonkey.version %>.

<p>
<a href="http://www.apache.org/dyn/closer.lua/cloudstack/releases/cloudmonkey-<%= data.cloudstack.cloudmonkey.version %>/apache-cloudstack-cloudmonkey-<%= data.cloudstack.cloudmonkey.version %>-src.tar.bz2"><button type="button" class="btn btn-primary btn-md">Get the <%= data.cloudstack.cloudmonkey.version %> Source</button></a>

<a href="http://www.apache.org/dist/cloudstack/KEYS"><button type="button" class="btn btn-info btn-xs">KEYS</button></a>
<a href="http://www.apache.org/dist/cloudstack/releases/cloudmonkey-<%= data.cloudstack.cloudmonkey.version %>/apache-cloudstack-cloudmonkey-<%= data.cloudstack.cloudmonkey.version %>-src.tar.bz2.asc"><button type="button" class="btn btn-info btn-xs">PGP</button></a>
<a href="http://www.apache.org/dist/cloudstack/releases/cloudmonkey-<%= data.cloudstack.cloudmonkey.version %>/apache-cloudstack-cloudmonkey-<%= data.cloudstack.cloudmonkey.version %>-src.tar.bz2.md5"><button type="button" class="btn btn-info btn-xs">MD5</button></a>
<a href="http://www.apache.org/dist/cloudstack/releases/cloudmonkey-<%= data.cloudstack.cloudmonkey.version %>/apache-cloudstack-cloudmonkey-<%= data.cloudstack.cloudmonkey.version %>-src.tar.bz2.sha"><button type="button" class="btn btn-info btn-xs">SHA</button></a>

</p>

Instructions for building and installing from source can be found in the included [README.md](https://gitbox.apache.org/repos/asf?p=cloudstack-cloudmonkey.git;a=blob_plain;f=README.md) file.

#### Binary Builds Release

For easier installation or upgrades, the official source code release has been supplemented by community members who have pushed the binary builds to the [Apache CloudStack CloudMonkey Github release](https://github.com/apache/cloudstack-cloudmonkey/releases) page.

For installing, upgrade, usage, please see the project wiki:

    https://github.com/apache/cloudstack-cloudmonkey/wiki/Getting-Started#installation

<a name="archives"></a>

<div class="row">

<div class="col-lg-12">

<div class="page-header">

<h2 id="indicators">Archived Releases</h2>

You can find links to all the releases of Apache CloudStack on the <a href="archives.html">archives page</a>.
