<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="/images/favicon.ico">

    <title>Apache Roller</title>

    <!-- Bootstrap core CSS -->
    <link href="/bootstrap-3.2.0/css/bootstrap.min.css" rel="stylesheet">

    <!-- Bootstrap theme -->
    <link href="/bootstrap-3.2.0/css/bootstrap-theme.min.css" rel="stylesheet">

    <!-- Custom styles for this template -->
    <link href="/css/roller.css" rel="stylesheet">

</head>

<body>

<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="/index.html">Apache Roller</a>
        </div>
        <div class="navbar-collapse collapse">
            <ul class="nav navbar-nav">
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Info <span class="caret"></span></a>
                    <ul class="dropdown-menu" role="menu">
                        <li><a href="http://rollerweblogger.org/project">Team Blog</a></li>
                        <li><a href="http://cwiki.apache.org/confluence/display/ROLLER">Project Wiki</a></li>
                        <li><a href="https://twitter.com/apache_roller">Twitter</a></li>
                        <li><a href="https://www.openhub.net/p/roller">Open Hub Page</a></li>
                        <li><a href="https://cwiki.apache.org/confluence/display/ROLLER/Roller+Mailing+Lists">Mailing Lists</a></li>
                        <li><a href="/project/whoweare.html">Who We Are</a></li>
                    </ul>
                </li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">Get Involved <span class="caret"></span></a>
                    <ul class="dropdown-menu" role="menu">
                        <li><a href="https://issues.apache.org/jira/browse/ROL">Issue Tracker</a></li>
                        <li><a href="https://cwiki.apache.org/confluence/display/ROLLER/Developer+Resources">Development Information</a></li>
                        <li><a href="https://github.com/apache/roller">Browse Source</a></li>
                        <li><a href="https://builds.apache.org/job/Roller/">Jenkins CI</a></li>
                        <li><a href="https://analysis.apache.org/dashboard/index/org.apache.roller:roller-project">Sonar Analysis</a></li>
                        <li><a href="/getinvolved/edit_website.html">Website Admin</a></li>
                    </ul>
                </li>
                <li><a href="/downloads/downloads.html">Download</a></li>
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <span class="caret"></span></a>
                    <ul class="dropdown-menu" role="menu">
                        <li><a href="https://www.apache.org/foundation/" target="external">Foundation</a></li>
                        <li><a href="https://www.apache.org/events/current-event" target="external">Events</a></li>
                        <li><a href="https://projects.apache.org/" target="external">Projects</a></li>
                        <li><a href="https://people.apache.org/" target="external">People</a></li>
                        <li><a href="https://www.apache.org/foundation/sponsorship.html" target="external">Sponsorship</a></li>
                        <li><a href="https://www.apache.org/foundation/thanks.html" target="external">Thanks</a></li>
                        <li><a href="https://www.apache.org/licenses/" target="external">License</a></li>
                    </ul>
                </li>
            </ul>
        </div><!--/.nav-collapse -->
    </div>
</div>

<div class="markdown-content">

<div class="container">
    <!-- Example row of columns -->
    <div class="row">
        <h1>Downloads</h1>
        <p><h2>Apache Roller Releases</h2>
<p>Releases of the Apache Roller blog server are made available to the general public at no charge, under the <a href="http://apache.org/licenses/">Apache License,</a> in both binary and source distributions.</p>
<h3>General Availability (GA) Releases</strong> - <em>Ready for Prime Time!</em></h3>
<p><strong><a href="http://www.apache.org/dyn/closer.cgi/roller/roller-5.2/v5.2.4/">Roller 5.2.4</a> (&quot;best available&quot;)</strong></p>
<p>Previous source and binary distributions, including documentation, are available in the <a class="external" href="http://archive.apache.org/dist/roller/">Apache archives</a>.</p>
<p>Project releases are approved by vote of the Apache Roller Project Management Committee (PMC). Support for a release is provided by project volunteers on the project <a href="https://cwiki.apache.org/confluence/display/ROLLER/How+to+ask+for+help">mailing lists</a>. Bugs found in a release may be discussed on the list and reported through the <a href="https://issues.apache.org/jira/browse/ROL">issue tracker</a>. The user mailing list and issue tracker are the <strong>only</strong> support options hosted by the Apache Roller project.</p>
<p>Note: When downloading from a mirror, be sure to verify that checksums and/or signatures are correct. To do so, use the checksum and signature files from the main Apache site at <a class="external" href="http://www.apache.org/dist/roller/"><a href="http://www.apache.org/dist/roller/">http://www.apache.org/dist/roller/</a></a>.</p>
<p>The PGP signatures can be verified using PGP or GPG. First download the <a href="http://www.apache.org/dist/roller/KEYS">KEYS</a> as well as the <code>asc</code> signature file for the particular distribution. Make sure you get these files from the <a href="http://www.apache.org/dist/roller/">main distribution directory,</a> rather than from a mirror. Then verify the signatures using <code>pgpk</code> as follows:</p>
<pre><code>% pgpk -a KEYS
% pgpv ${filename}.tar.gz.asc
</code></pre>
<p>or</p>
<pre><code>% pgp -ka KEYS
% pgp ${filename}.tar.gz.asc
</code></pre>
<p>or</p>
<pre><code>% gpg --import KEYS
% gpg --verify ${filename}.tar.gz.asc
</code></pre>
<p>Alternatively you can also verify the SHA256 checksum for each file. Apache Open Office provides a nice guide to verifying checksum here <a href="https://www.openoffice.org/download/checksums.html">How to verify the integrity of the downloaded file?</a></p>
<p>If you want to build directly from the sources, please check the <a href="https://cwiki.apache.org/confluence/display/ROLLER/How+to+build+Roller">Project Wiki</a>.</p></p>
    </div>
</div>

</div>

<div class="container">
    <hr>
    <footer>
        <p>
            Copyright &copy; 2019 The Apache Software Foundation.
            <a href="https://www.apache.org/licenses/" target="external">
                Licensed under the  Apache License, Version 2.0
            </a>.
            <br/>
            Apache Roller, the project logo and the Apache feather logo are trademarks of
            <a href="https://www.apache.org/" target="external">
                The Apache Software Foundation.
            </a>
        </p>
    </footer>
</div>

<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="/bootstrap-3.2.0/js/bootstrap.min.js"></script>
</body>
</html>