<!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">
<!-- Main jumbotron for a primary marketing message or call to action -->
<div class="jumbotron">
    <div class="container">
        <div class="row">
            <div class="col-md-2">
                <img src="images/steamroller5.jpg" alt="Roller Logo" class="img-responsive">
            </div>
            <div class="col-md-10">
                <h1>Blog Better.</h1>
                <p>Apache Roller is a Java-based, full-featured, multi-user and group-blog server suitable for blog sites large and small.</p>
                <p><a class="btn btn-primary btn-lg" role="button" href="https://cwiki.apache.org/confluence/display/ROLLER/PoweredByRoller">Our Community &raquo;</a></p>
            </div>
        </div>
    </div>
</div>

<div class="container">
    <!-- Example row of columns -->
    <div class="row">
        <div class="col-md-6">
            <h2>Features</h2>
            <ul class="list-group">
                <li class="list-group-item">Multi-user blogging: can support thousands of users and blogs</li>
                <li class="list-group-item">Group blogging with three permission levels: owner, editor, and drafter</li>
                <li class="list-group-item">Support for comment moderation and comment spam prevention measures</li>
                <li class="list-group-item">Bloggers have full control over blog layout/style via <a href="http://velocity.apache.org/">Apache Velocity</a>-driven templates</li>
                <li class="list-group-item">Built-in <a href="http://lucene.apache.org/">Lucene</a> search engine indexes weblog entry content</li>
                <li class="list-group-item">Support for blog clients that support MetaWeblog API</li>
                <li class="list-group-item">All blogs have entry and comment feeds in both RSS 2.0 and Atom 1.0 formats</li>
                <li class="list-group-item">Support for SEO: web analytics tracking keys, blog-entry specific Meta description elements</li>
            </ul>
        </div>
        <div class="col-md-6">
            <h2>Documentation</h2>
            <p>Roller's installation guide covers deployment on Tomcat, GlassFish, and JBoss application servers using a MySQL,
                Derby, or PostgreSQL database. Users however have reported success running Roller on other app servers and databases.</p>
            <p>
                <a class="btn btn-default" href="https://github.com/apache/roller/tree/roller-5.2.0/docs" role="button">Docs for latest release in Open Office (ODT) format</a>
            </p>
        </div>
    </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>