<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">










<html>
  <head>
    <title>Archiva Documentation - Quick Start</title>
    <style type="text/css" media="all">
      @import url("./css/maven-base.css");
      @import url("./css/maven-theme.css");
      @import url("./css/site.css");
    </style>
    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
          <meta name="author" content="Henri Yandell" />
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
                            <?xml version="1.0" encoding="UTF-8"?>
<script type="text/javascript">var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));</script>
                                <?xml version="1.0" encoding="UTF-8"?>
<script type="text/javascript">var pageTracker = _gat._getTracker("UA-140879-5");
pageTracker._initData();
pageTracker._trackPageview();</script>
                    </head>
  <body class="composite">
    <div id="banner">
                  <a href="../../" id="bannerLeft">
    
                                    <img src="http://archiva.apache.org/images/archiva.png" alt="" />
    
            </a>
                        <a href="http://www.apache.org/" id="bannerRight">
    
                                    <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
    
            </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
          
  

  
    
  
  
            <div class="xleft">
          
          <a href="http://www.apache.org/">Apache</a>
              &gt;
      
          <a href="../../">Archiva</a>
              &gt;
      
          <a href="index.html">1.3.9</a>
                </div>
            <div class="xright">      
  

  
    
  
  
            &nbsp;| Last Published: 01 Jul 2014
            </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
           
  

  
    
  
  
                   <h5>Introduction</h5>
        <ul>
              
    <li class="none">
              <strong>Quick Start</strong>
        </li>
              
    <li class="none">
              <a href="tour/index.html">Feature Tour</a>
        </li>
              
    <li class="none">
              <a href="release-notes.html">Release Notes</a>
        </li>
              
    <li class="none">
              <a href="http://archiva.apache.org/download.html">Downloads</a>
        </li>
          </ul>
          <h5>Users Guide</h5>
        <ul>
              
    <li class="none">
              <a href="userguide/browsing.html">Browsing</a>
        </li>
              
    <li class="none">
              <a href="userguide/searching.html">Searching</a>
        </li>
              
    <li class="none">
              <a href="userguide/find-artifact.html">Identifying an Artifact</a>
        </li>
              
    <li class="none">
              <a href="userguide/delete-artifact.html">Deleting an Artifact</a>
        </li>
              
    <li class="none">
              <a href="userguide/using-repository.html">Using as a repository</a>
        </li>
              
    <li class="none">
              <a href="userguide/deploy.html">Deploying to repository</a>
        </li>
              
    <li class="none">
              <a href="userguide/virtual-repositories.html">Configuring Virtual Repositories</a>
        </li>
              
    <li class="none">
              <a href="userguide/rss.html">Rss Feeds in Archiva</a>
        </li>
              
    <li class="none">
              <a href="userguide/auditlog-report.html">Audit Log Report</a>
        </li>
          </ul>
          <h5>Administrators Guide</h5>
        <ul>
              
                
              
      
            
      
            
      
              
        <li class="collapsed">
              <a href="adminguide/installing.html">Installing Archiva</a>
              </li>
              
    <li class="none">
              <a href="adminguide/databases.html">Databases</a>
        </li>
              
                
              
      
            
      
              
        <li class="collapsed">
              <a href="adminguide/security.html">Security</a>
              </li>
              
                
              
      
            
      
            
      
            
      
            
      
              
        <li class="collapsed">
              <a href="adminguide/configuration.html">Runtime Configuration</a>
              </li>
              
    <li class="none">
              <a href="adminguide/configuration-files.html">Configuration Files</a>
        </li>
              
                
              
      
            
      
            
      
              
        <li class="collapsed">
              <a href="adminguide/logging.html">Log Files</a>
              </li>
              
    <li class="none">
              <a href="adminguide/reports.html">Reports</a>
        </li>
              
    <li class="none">
              <a href="adminguide/web-services.html">Web Services</a>
        </li>
          </ul>
          <h5>Customising Archiva</h5>
        <ul>
              
    <li class="none">
              <a href="customising/writing-consumer.html">Writing a Consumer Plugin</a>
        </li>
          </ul>
          <h5>More Information</h5>
        <ul>
              
    <li class="none">
              <a href="http://cwiki.apache.org/confluence/display/ARCHIVA/Index">Archiva Wiki</a>
        </li>
          </ul>
                                       <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy">
            <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
          </a>
                       
  

  
    
  
  
        </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <div class="section"><h2>Installing Archiva</h2><p>The quickest way to install Archiva is to <a href="http://archiva.apache.org/download.html">download</a> and use the standalone distribution. This includes a bundled Jetty server which can be easily started. For more information on advanced configuration of this instance, refer to the <a href="adminguide/standalone.html"> Administration Guide</a>.</p><p>To get started right away, you can run the following after unpacking:</p><div class="source"><pre>./bin/archiva console (Linux, Mac, Solaris)
.\bin\archiva.bat console (Windows)</pre></div><p>You will need to choose a different start command based on your platform. The <tt>console</tt> argument starts the server with the logs going to standard output, and waits for Ctrl+C to stop the server.</p><p><b>Note:</b> A Derby exception &quot;Schema 'SA' does not exist&quot; occurs, but is not of concern.</p><p>Archiva is now running on <tt>http://localhost:8080/archiva/</tt></p></div><div class="section"><h2><a name="Setting up your Archiva instance">Setting up your Archiva instance</a></h2><p>You can now browse the web administration of Archiva. There will be a few basic setup tasks to get started.</p><p>The first step is to setup your administration user. The password requires a numerical character and must not be longer than 8 chars. You'll then need to log in. Use 'admin' as the username and the password you've entered.</p><p>At this point, Archiva is fully functional - you can use it with the default repositories and guest user. You might like to explore the user and administrator guides to find other functionality.</p><p>The default configuration for Archiva configures two repositories:</p><ul><li><tt>internal</tt> - a repository for containing released artifacts. This is connected by proxy to the central repository, so requests here will automatically retrieve the remote artifacts.</li><li><tt>snapshots</tt> - a repository for storing deployed snapshots. This is not proxied to any remote repositories by default.</li></ul><p>In addition, the guest user has read access to these repositories, so you can make anonymous requests to either. To try this out, point a web browser at the following URL: <a href="http://localhost:8080/archiva/repository/internal/junit/junit/3.8.1/junit-3.8.1.jar">http://localhost:8080/archiva/repository/internal/junit/junit/3.8.1/junit-3.8.1.jar</a>. Though the artifact is not present locally, you will see in the Archiva logs that it is downloaded from the central repository, and then handed back to the browser and downloaded from Archiva. Future requests for the artifact will be much faster as they need not be downloaded from the central repository.</p><p>Once this artifact is downloaded, Archiva automatically indexes it, so you can access its information at the following URL: <a href="http://localhost:8080/archiva/browse/junit/junit/3.8.1/">http://localhost:8080/archiva/browse/junit/junit/3.8.1/</a>. It will also be available from the search interface.</p></div>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">&#169;  
          2006-2014
    
          The Apache Software Foundation
          
  

  
    
  
  
  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>