<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Download Apache Rivet</title>
    <link rel="stylesheet" href="../templates/wondrous/styles.css" type="text/css" />
</head>

<body>
    <div id="container">
        <div id="header">
            <h1><a href="../index.html">Rivet</a></h1>
            <h2 id="slogan">Webscripting for Tcl'ers</h2>
            <div class="clear"></div>
        </div>
        <div id="body">
            <div id="content">
                <h2>Download Apache Rivet</h2>
                <div>
    <div class="sez">
        <h4>Source Code</h4>
        <p>
		      The latest stable <b>Rivet</b>

 release may be downloaded from one the links pointing to ASF mirror sites 
		      <p>
                <code>
                    <a href="http://www.apache.org/dyn/closer.cgi/tcl/rivet">http://www.apache.org/dyn/closer.cgi/tcl/rivet</a>
                </code>
            </p>
        </p>
    </div>
    <div class="sez">
        <h4>SuSE</h4>
        <p>
			Rivet is available for various flavours of <a href="http://software.opensuse.org/search?q=rivet">SuSE</a>

 
			thanks to Harald Oehlmann 
		                        </p>
    </div>
    <div class="sez">
        <h4>Redhat and CentOS5</h4>
        <p>
			OpenSuse is distrubuting also 
			Rivet packages for 
			<a href="http://software.opensuse.org/search?q=rivet&amp;baseproject=RedHat%3ARHEL-5">Redhat</a>

 and 
			<a href="http://software.opensuse.org/search?q=rivet&amp;baseproject=CentOS%3ACentOS-5">CentOS5</a>
        </p>
    </div>
    <div class="sez">
        <h4>RPM</h4>
        <p>
		    Jeff Lawson prepared a 
		    <a href="https://github.com/repoforge/rpms/tree/master/specs/mod_rivet/">.spec file</a>


		    for RPMforge that can be used to build an .rpm out of the source code. 
            <a href="http://repoforge.org/use/">Installation instructions</a>

 are available at Repoforge.
		                      </p>
    </div>
    <div class="sez">
        <h4>Debian and Ubuntu</h4>
        <p>
			Rivet was kindly sponsored by Sven Hoexter, Debian Developer. You
			can download it from from Debian as 
			<a href="http://packages.qa.debian.org/liba/libapache2-mod-rivet.html">libapache2-mod-rivet</a>

 (binary module and configuration) and 
			<a href="http://packages.debian.org/wheezy/libapache2-mod-rivet-doc">libapache2-mod-rivet-doc</a>

 (HTML manual). 
		                      </p>
        <p>
			Rivet was also automatically made available on 
			<a href="https://launchpad.net/ubuntu/+source/libapache2-mod-rivet">launchpad.net</a>

 for the 
			<a href="https://launchpad.net/ubuntu/natty">Natty</a>

 series of Ubuntu.
		                      </p>
    </div>
    <div class="sez">
        <h4>FreeBSD</h4>
        <p>
                Peter Lai is maintaining a <a href="http://www.freebsd.org/">FreeBSD</a>

 port available as <b>www/mod_rivet</b>
        </p>
    </div>
    <div class="sez">
        <h4>Development code on SVN</h4>
        <p>
            <b>Apache Rivet</b>

 is actively developed - you can always get the last code commited by the developers team.
		                      </p>
        <p>
            <code>svn co http://svn.apache.org/repos/asf/tcl/rivet/trunk rivet</code>
        </p>
        <!-- p>
			In addition, for your convenience, snapshots of the SVN tree are available here: 
			<a href="http://cvs.apache.org/snapshots/tcl-rivet/">http://cvs.apache.org/snapshots/tcl-rivet/</a>
		  </p -->
    </div>
</div>



                <div class="contentbottom">
                    
                </div>
            </div>

            <div class="sidebar">
                <ul>
                    <li id="news">
    <h4>News</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a title="Tcl and Rivet as a replacement of PHP for web scripting" class="extern" href="https://www.youtube.com/watch?v=iagBj3xCExQ">
                12 Dec 2013: Introductory video to Apache/Rivet
                </a>
        </li>
        <li class="navitem">
            <a href="rn-2-1.html">1 Oct 2013: Rivet 2.1.3 released</a>
        </li>
        <li class="navitem">
            <a href="rn-2-0.html">1 Dec 2012: Rivet 2.0.6 released</a>
        </li>
    </ul>
</li>
 
                </ul> 
                <ul>
                    <li id="home">
    <h4>Rivet</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a title="A home for Rivet" href="../index.html">Rivet Homepage</a>
        </li>
        <li class="navitem">
            <a title="Home of Apache Tcl related stuff" target="asf" href="http://tcl.apache.org/">Apache Tcl Home</a>
        </li>
        <li class="navitem">
            <a title="Getting Rivet" href="download.html">Getting Rivet</a>
        </li>
        <li class="navitem">
            <a title="Hello World!" href="hello_world.html">Examples</a>
        </li>
        <li class="navitem">
            <a title="The Rivet development team" href="about.html">About Us - Contact</a>
        </li>
    </ul>
</li>
<li id="tcl">
    <h4>Tcl/Tk</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a title="The Tcl Developer Xchange" target="tclxchange" class="extern" href="http://www.tcl.tk/">
                The Tcl/Tk Language
                </a>
        </li>
        <li class="navitem">
            <a title="Tcl community wiki site" target="tclwiki" class="extern" href="http://wiki.tcl.tk/">Tcl'ers Wiki</a>
        </li>
    </ul>
</li>
<li id="support">
    <h4>Support</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a title="Apache Rivet Bugzilla" class="extern" href="https://issues.apache.org/bugzilla/buglist.cgi?quicksearch=Rivet">Bug Reports</a>
        </li>
    </ul>
</li>
<li id="manual">
    <h4>Manuals</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a title="Rivet Manual" target="rivetman2.0" href="http://tcl.apache.org/rivet/manual2.0/">Rivet 2.0 Manual</a>
        </li>
        <li class="navitem">
            <a title="Rivet Manual" target="rivetman2.1" href="http://tcl.apache.org/rivet/manual2.1/">Rivet 2.1 Manual</a>
        </li>
    </ul>
</li>
 
                </ul> 
                <ul>
                    <li id="acknowledgments">
    <h4>Acknowledgments</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a href="http://www.apache.org/foundation/thanks.html">ASF Sponsorship</a>
        </li>
    </ul>
</li>
 
                </ul> 
            </div>
            <div class="clear"></div>
        </div>
    </div>
    <div id="footer">
        <div class="footer-content">
            <p><a href="http://www.apache.org/">Apache Software Foundation</a> | Design by <a href="http://www.spyka.net">Free CSS Templates</a> | <a href="http://www.justfreetemplates.com">Free Web Templates</a></p>
        </div>
    </div>
    <div style="text-align: center; font-size: 0.75em;">Design downloaded from <a href="http://www.freewebtemplates.com/">free website templates</a>.</div></body>
</html>

