blob: 50ef8b23cc6399610e514701dc8c147d0cf07a9b [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="Apache Forrest" name="Generator">
<meta name="Forrest-version" content="0.8-dev">
<meta name="Forrest-skin-name" content="pelt">
<title>Notes for forrest.zones.apache.org</title>
<link type="text/css" href="skin/basic.css" rel="stylesheet">
<link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
<link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
<link type="text/css" href="skin/profile.css" rel="stylesheet">
<script src="skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="skin/fontsize.js" language="javascript" type="text/javascript"></script>
<link rel="shortcut icon" href="favicon.ico">
</head>
<body onload="init()">
<script type="text/javascript">ndeSetTextSize();</script>
<div id="top">
<!--+
|breadtrail
+-->
<div class="breadtrail">
<a href="http://www.apache.org/">apache</a> &gt; <a href="http://forrest.apache.org/">forrest</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
</div>
<!--+
|header
+-->
<div class="header">
<!--+
|start group logo
+-->
<div class="grouplogo">
<a href="http://www.apache.org/"><img class="logoImage" alt="Apache" src="images/apache-forrest.png" title="The Apache Software Foundation"></a>
</div>
<!--+
|end group logo
+-->
<!--+
|start Project Logo
+-->
<div class="projectlogo">
<a href="http://forrest.apache.org/"><img class="logoImage" alt="Forrest" src="images/project-logo.gif" title="Apache Forrest"></a>
</div>
<!--+
|end Project Logo
+-->
<!--+
|start Search
+-->
<div class="searchbox">
<form action="http://www.google.com/search" method="get" class="roundtopsmall">
<input value="forrest.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp;
<input name="Search" value="Search" type="submit">
</form>
</div>
<!--+
|end search
+-->
<!--+
|start Tabs
+-->
<ul id="tabs">
<li>
<a class="unselected" href="index.html">Welcome</a>
</li>
<li class="current">
<a class="selected" href="contrib.html">Developers</a>
</li>
<li>
<a class="unselected" href="versions/index.html">Versioned Docs</a>
</li>
<li>
<a class="unselected" href="pluginDocs/index.html">Plugins</a>
</li>
<li>
<a class="unselected" href="tools/index.html">Tools</a>
</li>
</ul>
<!--+
|end Tabs
+-->
</div>
</div>
<div id="main">
<div id="publishedStrip">
<!--+
|start Subtabs
+-->
<div id="level2tabs"></div>
<!--+
|end Endtabs
+-->
<script type="text/javascript"><!--
document.write("Last Published: " + document.lastModified);
// --></script>
</div>
<!--+
|breadtrail
+-->
<div class="breadtrail">
&nbsp;
</div>
<!--+
|start Menu, mainarea
+-->
<!--+
|start Menu
+-->
<div id="menu">
<div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">Getting involved</div>
<div id="menu_1.1" class="menuitemgroup">
<div class="menuitem">
<a href="contrib.html" title="Everyone is a developer and has something to contribute">Contributing</a>
</div>
<div class="menuitem">
<a href="mail-lists.html" title="Discussion mail lists are the heart of the project: dev, user, svn">Mail lists and discussion</a>
</div>
<div class="menuitem">
<a href="issues.html" title="Issue tracker manages known issues and desired enhancements">Reporting bugs and issues</a>
</div>
<div class="menuitem">
<a href="forrest-friday.html" title="ForrestFriday monthly get-together">ForrestFriday IRC</a>
</div>
<div class="menuitem">
<a href="events.html" title="List of upcoming related conferences and meetings">Events</a>
</div>
<div onclick="SwitchMenu('menu_1.1.6', 'skin/')" id="menu_1.1.6Title" class="menutitle">Project</div>
<div id="menu_1.1.6" class="menuitemgroup">
<div class="menuitem">
<a href="guidelines.html" title="Open development guidelines to encourage participation">Project guidelines</a>
</div>
<div class="menuitem">
<a href="committed.html" title="Notes about contribution">Being committed</a>
</div>
<div class="menuitem">
<a href="roles.html" title="Tasks to keep the project flowing">Project roles</a>
</div>
</div>
</div>
<div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Resources and Infrastructure</div>
<div id="menu_1.2" class="menuitemgroup">
<div class="menuitem">
<a href="asf-infrastructure.html" title="Explain the ASF infrastructure">Introduction</a>
</div>
<div class="menuitem">
<a href="mail-lists.html" title="Discussion mail lists are the heart of the project: dev, user, svn">Mail lists</a>
</div>
<div class="menuitem">
<a href="issues.html" title="Issue tracker manages known issues and desired enhancements">Issue management</a>
</div>
<div class="menuitem">
<a href="svn.html" title="Access to the Subversion (SVN) version control system">Version control</a>
</div>
<div class="menuitem">
<a href="http://forrest.zones.apache.org/" title="Demonstrations and testbed at forrest.zones.apache.org">Demonstrations</a>
</div>
<div class="menuitem">
<a href="gump.html">Gump integration</a>
</div>
<div onclick="SwitchMenu('menu_1.2.7', 'skin/')" id="menu_1.2.7Title" class="menutitle">Planning notes</div>
<div id="menu_1.2.7" class="menuitemgroup">
<div class="menuitem">
<a href="plan/index.html">Overview</a>
</div>
<div class="menuitem">
<a href="plan/internal-xhtml.html">Internal XHTML</a>
</div>
</div>
<div class="menuitem">
<a href="todo.html">Todo</a>
</div>
</div>
<div onclick="SwitchMenu('menu_selected_1.3', 'skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Best Practices and Procedures</div>
<div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
<div class="menuitem">
<a href="howto-dev.html" title="Describes tips and procedures for efficiently developing with Forrest.">Development tips</a>
</div>
<div class="menuitem">
<a href="subversion_bestpractices.html" title="Best practice notes for Subversion">Subversion</a>
</div>
<div class="menuitem">
<a href="documentation_bestpractices.html" title="Best practice notes for documentation">Documentation</a>
</div>
<div class="menuitem">
<a href="howto-howto.html" title="Instructions for writing a new howto-document">Write a How-to</a>
</div>
<div onclick="SwitchMenu('menu_selected_1.3.5', 'skin/')" id="menu_selected_1.3.5Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Committer notes</div>
<div id="menu_selected_1.3.5" class="selectedmenuitemgroup" style="display: block;">
<div class="menupage">
<div class="menupagetitle">Zone management</div>
</div>
<div class="menuitem">
<a href="procedures/release/How_to_release.html" title="Instructions on preparing and creating a new Forrest release.">How to release</a>
</div>
<div class="menuitem">
<a href="procedures/How_to_publish_docs.html" title="Instructions on publishing the Forrest Website">Publishing Forrest documentation</a>
</div>
</div>
</div>
<div onclick="SwitchMenu('menu_1.4', 'skin/')" id="menu_1.4Title" class="menutitle">Proposals</div>
<div id="menu_1.4" class="menuitemgroup">
<div class="menuitem">
<a href="proposal-asf-forrestbot.html">ASF Forrestbot</a>
</div>
</div>
<div id="credit"></div>
<div id="roundbottom">
<img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
<!--+
|alternative credits
+-->
<div id="credit2">
<a href="http://apachecon.com/2007/EU/"><img border="0" title="ApacheCon Europe 2007" alt="ApacheCon Europe 2007 - logo" src="http://apache.org/ads/ApacheCon/2007-europe-125x125.png" style="width: 125px;height: 125px;"></a><a href="http://people.apache.org/calendar.html#200711"><img border="0" title="ApacheCon US 2007" alt="ApacheCon US 2007 - logo" src="http://apache.org/ads/ApacheCon/2007-usa-125x125.png" style="width: 125px;height: 125px;"></a>
</div>
</div>
<!--+
|end Menu
+-->
<!--+
|start content
+-->
<div id="content">
<div title="Portable Document Format" class="pdflink">
<a class="dida" href="zone.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
PDF</a>
</div>
<div class="trail">Font size:
&nbsp;<input value="Reset" class="resetfont" title="Reset text" onclick="ndeSetTextSize('reset'); return false;" type="button">
&nbsp;<input value="-a" class="smallerfont" title="Shrink text" onclick="ndeSetTextSize('decr'); return false;" type="button">
&nbsp;<input value="+a" class="biggerfont" title="Enlarge text" onclick="ndeSetTextSize('incr'); return false;" type="button">
</div>
<h1>Notes for forrest.zones.apache.org</h1>
<div id="minitoc-area">
<ul class="minitoc">
<li>
<a href="#overview">Overview</a>
</li>
<li>
<a href="#configuration">Configuration</a>
</li>
<li>
<a href="#software">Software</a>
<ul class="minitoc">
<li>
<a href="#s-forrest">Forrest</a>
</li>
</ul>
</li>
<li>
<a href="#fb">The forrestbots</a>
</li>
<li>
<a href="#admin">Administration</a>
<ul class="minitoc">
<li>
<a href="#admin-user">User administration</a>
</li>
</ul>
</li>
</ul>
</div>
<a name="N1000D"></a><a name="overview"></a>
<h2 class="underlined_10">Overview</h2>
<div class="section">
<p>
The server <a href="http://forrest.zones.apache.org/">forrest.zones.apache.org</a>
provides our testing and demonstration area. It is managed by Apache
Forrest committers. The material is intended for developer use only.
</p>
</div>
<a name="N1001B"></a><a name="configuration"></a>
<h2 class="underlined_10">Configuration</h2>
<div class="section">
<p>
Configuration files and directory structures are stored in SVN at
<span class="codefrag">https://svn.apache.org/repos/asf/forrest/zone</span>
</p>
<p>
<strong>config</strong>
</p>
<pre class="code">
creates /export/home/config ... $CONFIG
directories /forrestbot-*/ are the forrestbot homes, see below.
setenv*.sh ... these are sourced by the forrestbots and other
cronjobs and user configs, to set the environment.
</pre>
<p>
<strong>htdocs</strong>
</p>
<pre class="code">
creates /var/apache2/htdocs ... $DOC_ROOT
directories /ft/ and /fts/ are the forrestbot config and results, see below.
</pre>
<p>
<strong>test-sources</strong>
</p>
<pre class="code">
A place to hold sources for various test sites.
Normally these would be in the relevant project's SVN.
Hold them here until building properly.
</pre>
<p>
All files are owned in the group "other" so any one of us can
edit/update. Make sure that your 'umask' is set properly so that new
files have group write permissions. See the
<a href="#admin-user">notes</a> about user administration. FIXME: Add a
proper group.
</p>
<p>
Cron runs the various Forrestbots and management tasks, such as updating
the forrest-trunk software; cleaning up old logfiles, etc. FIXME: These
are not yet managed under SVN, see ~crossley/my-crontab.txt
</p>
</div>
<a name="N10052"></a><a name="software"></a>
<h2 class="underlined_10">Software</h2>
<div class="section">
<p>
Global zone software is as described in
<a href="http://www.apache.org/dev/solaris-zones.html">zone
administration</a>.
</p>
<p>
Various local software is installed in <span class="codefrag">/export/opt/</span> (not
managed with SVN) ...
</p>
<a name="N10065"></a><a name="s-forrest"></a>
<h3 class="underlined_5">Forrest</h3>
<p>
<strong>forrest-trunk</strong>
</p>
<pre class="code">
svn checkout of trunk.
automatically 'svn update' and 'build' via cron: $CONFIG/update-forrest-trunk.sh
</pre>
<p>
<strong>forrest-trunk-stable</strong>
</p>
<pre class="code">
svn checkout of trunk, manually updated as needed.
</pre>
<p>
<strong>forrest-release</strong>
</p>
<pre class="code">
svn checkout of current release branch, manually updated as needed.
</pre>
<p>
To manually update -stable or -release do this:
</p>
<pre class="code">
source $CONFIG/setenv-java-14.sh
cd /export/opt/forrest-trunk-stable
svn up
cd main
./build.sh clean; ./build.sh
</pre>
</div>
<a name="N10092"></a><a name="fb"></a>
<h2 class="underlined_10">The forrestbots</h2>
<div class="section">
<p>
There are various forrestbots operating with different versions of
forrest. Their home is at $CONFIG
</p>
<p>
<strong>$CONFIG/forrestbot-trunk</strong>
</p>
<pre class="code">
forrestbot operating with trunk.
builds various sites automatically, triggered via cron.
Configuration files and the generated results are at $DOC_ROOT/ft/
FIXME: The web interface is coming soon.
</pre>
<p>
<strong>$CONFIG/forrestbot-trunk-stable</strong>
</p>
<pre class="code">
forrestbot operating with trunk-stable.
builds various sites, only runs when needed, triggered via cron.
Configuration files and the generated results are at $DOC_ROOT/fts/
</pre>
<p>
Forrestbot logs are at $CONFIG/forrestbot-trunk*/logs/ and old ones are
cleaned up by the crontab. There is also a log file for each site that
forrestbot builds which captures the output of cron (cronout-*.txt). Be
sure to verify this logfile after making configuration changes.
</p>
</div>
<a name="N100B3"></a><a name="admin"></a>
<h2 class="underlined_10">Administration</h2>
<div class="section">
<p>
See the general notes for the
<a href="http://www.apache.org/dev/solaris-zones.html">zone
administration</a>.
</p>
<p>
The project chair is the root user. Committers can ask on the dev list
to get a user account added or modified.
</p>
<p>
Follow Leo's config ideas at
<a href="http://wiki.apache.org/gump/GumpZonesConfig">GumpZonesConfig</a>.
</p>
<p>
Also keep an occasional eye on $CONFIG/update-forrest-trunk.log This is
the output of the cronjob to do svn update to trunk and re-build.
</p>
<p>
FIXME: Start apache2 on boot (using new Solaris init.d replacement
called smf). At the moment we need to realise that it is down and
manually restart as per http://www.apache.org/dev/solaris-zones.html
Also it seems that /var/run/apache2 is wiped out on reboot, so need to
mkdir again.
</p>
<pre class="code">
sudo mkdir /var/run/apache2
sudo /usr/apache2/bin/apachectl -k start
</pre>
<a name="N100D4"></a><a name="admin-user"></a>
<h3 class="underlined_5">User administration</h3>
<p>
After receiving your account, please be sure to configure it properly.
</p>
<p>
See some notes at
<a href="http://www.apache.org/dev/solaris-zones.html">zone
administration</a> and the general notes for
<a href="http://www.apache.org/dev/new-committers-guide.html#shell">new
committers</a> (especially the part about 'umask').
</p>
<p>
Look at the setup of some other users on our zone.
</p>
</div>
</div>
<!--+
|end content
+-->
<div class="clearboth">&nbsp;</div>
</div>
<div id="footer">
<!--+
|start bottomstrip
+-->
<div class="lastmodified">
<script type="text/javascript"><!--
document.write("Last Published: " + document.lastModified);
// --></script>
</div>
<div class="copyright">
Copyright &copy;
2002-2007 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
</div>
<!--+
|end bottomstrip
+-->
</div>
</body>
</html>