<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wiki-Sbarnes</id>
	<title>OSGeo - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Wiki-Sbarnes"/>
	<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/wiki/Special:Contributions/Wiki-Sbarnes"/>
	<updated>2026-04-13T01:06:50Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.9</generator>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Postgrey&amp;diff=23620</id>
		<title>Postgrey</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Postgrey&amp;diff=23620"/>
		<updated>2008-03-18T20:23:45Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* ''&amp;quot;Postgrey is a Postfix policy server implementing greylisting&amp;quot;'' -- [[http://postgrey.schweikert.ch/ web site]]&lt;br /&gt;
* Responding to [http://trac.osgeo.org/osgeo/ticket/190 this SAC ticket]&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
It uses the BerkeleyDB, and other, perl modules.  Perl's -MCPAN install option was failing on building BerkeleyDB module, so RPMs were gathered from searches to pbone.net for RHEL4.  Then they were installed like this:&lt;br /&gt;
 sudo rpm -i perl-BerkeleyDB-0.33-1.el4.rf.i386.rpm perl-IO-Multiplex-1.09-3.el4.pp.noarch.rpm  perl-Net-Server-0.97-2.el4.pp.noarch.rpm postgrey-1.31-1.el4.rf.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Install &amp;amp; Config ==&lt;br /&gt;
&lt;br /&gt;
* For more install instructions see the manual (man) pages for postgrey on the server.&lt;br /&gt;
* Edit /etc/postfix/main.cf file adding:&lt;br /&gt;
&lt;br /&gt;
   smtpd_recipient_restrictions = permit_mynetworks,&lt;br /&gt;
        permit_sasl_authenticated,&lt;br /&gt;
        reject_invalid_hostname,&lt;br /&gt;
        reject_non_fqdn_hostname,&lt;br /&gt;
        reject_non_fqdn_sender,&lt;br /&gt;
        reject_unauth_destination,&lt;br /&gt;
        reject_unknown_recipient_domain,&lt;br /&gt;
        reject_unauth_pipelining,&lt;br /&gt;
        reject_unauth_destination,&lt;br /&gt;
        #reject_rbl_client list.dsbl.org,&lt;br /&gt;
        #reject_rbl_client sbl.spamhaus.org,&lt;br /&gt;
        #reject_rbl_client zen.spamhaus.org,&lt;br /&gt;
        #reject_rbl_client lists.spam.sux.com,&lt;br /&gt;
        check_policy_service unix:postgrey/socket,&lt;br /&gt;
        permit&lt;br /&gt;
&lt;br /&gt;
  Note:  The reject_rbl_client lines are for real time blacklisting and have been&lt;br /&gt;
         commented because this is most likely more aggressive spam filtering &lt;br /&gt;
         than we require.  I put them there as examples of additional filtering that&lt;br /&gt;
         could be done. &lt;br /&gt;
&lt;br /&gt;
* start postgrey daemon/service&lt;br /&gt;
    $ sudo /sbin/service postgrey start&lt;br /&gt;
* set postgrey to start on boot&lt;br /&gt;
    $ sudo /sbin/chkconfig --level 2345 postgrey&lt;br /&gt;
* restart postfix daemon/service&lt;br /&gt;
    $ sudo /sbin/service postfix restart&lt;br /&gt;
* you can watch the greylisting in : /var/log/maillog&lt;br /&gt;
    $ sudo tail -f /var/log/maillog |grep Greylist&lt;br /&gt;
&lt;br /&gt;
== To revert back to original (pre greylisting) config ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/postfix/main.cf and comment out lines 222 to 236&lt;br /&gt;
 &lt;br /&gt;
    smtpd_recipient_restrictions = permit_mynetworks,&lt;br /&gt;
        permit_sasl_authenticated,&lt;br /&gt;
        reject_invalid_hostname,&lt;br /&gt;
        reject_non_fqdn_hostname,&lt;br /&gt;
        reject_non_fqdn_sender,&lt;br /&gt;
        reject_unauth_destination,&lt;br /&gt;
        reject_unknown_recipient_domain,&lt;br /&gt;
        reject_unauth_pipelining,&lt;br /&gt;
        reject_unauth_destination,&lt;br /&gt;
        #reject_rbl_client list.dsbl.org,&lt;br /&gt;
        #reject_rbl_client sbl.spamhaus.org,&lt;br /&gt;
        #reject_rbl_client zen.spamhaus.org,&lt;br /&gt;
        #reject_rbl_client lists.spam.sux.com,&lt;br /&gt;
        check_policy_service unix:postgrey/socket,&lt;br /&gt;
        permit&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Restart postfix&lt;br /&gt;
&lt;br /&gt;
 $ sudo /sbin/service postfix restart&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* http://www.howtoforge.com/greylisting_postfix_postgrey&lt;br /&gt;
&lt;br /&gt;
[[Category: Infrastructure]]&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Postgrey&amp;diff=23619</id>
		<title>Postgrey</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Postgrey&amp;diff=23619"/>
		<updated>2008-03-18T20:17:55Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* ''&amp;quot;Postgrey is a Postfix policy server implementing greylisting&amp;quot;'' -- [[http://postgrey.schweikert.ch/ web site]]&lt;br /&gt;
* Responding to [http://trac.osgeo.org/osgeo/ticket/190 this SAC ticket]&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
It uses the BerkeleyDB, and other, perl modules.  Perl's -MCPAN install option was failing on building BerkeleyDB module, so RPMs were gathered from searches to pbone.net for RHEL4.  Then they were installed like this:&lt;br /&gt;
 sudo rpm -i perl-BerkeleyDB-0.33-1.el4.rf.i386.rpm perl-IO-Multiplex-1.09-3.el4.pp.noarch.rpm  perl-Net-Server-0.97-2.el4.pp.noarch.rpm postgrey-1.31-1.el4.rf.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Install &amp;amp; Config ==&lt;br /&gt;
&lt;br /&gt;
* For more install instructions see the manual (man) pages for postgrey on the server.&lt;br /&gt;
* Edit /etc/postfix/main.cf file adding:&lt;br /&gt;
&lt;br /&gt;
   smtpd_recipient_restrictions = permit_mynetworks,&lt;br /&gt;
        permit_sasl_authenticated,&lt;br /&gt;
        reject_invalid_hostname,&lt;br /&gt;
        reject_non_fqdn_hostname,&lt;br /&gt;
        reject_non_fqdn_sender,&lt;br /&gt;
        reject_unauth_destination,&lt;br /&gt;
        reject_unknown_recipient_domain,&lt;br /&gt;
        reject_unauth_pipelining,&lt;br /&gt;
        reject_unauth_destination,&lt;br /&gt;
        #reject_rbl_client list.dsbl.org,&lt;br /&gt;
        #reject_rbl_client sbl.spamhaus.org,&lt;br /&gt;
        #reject_rbl_client zen.spamhaus.org,&lt;br /&gt;
        #reject_rbl_client lists.spam.sux.com,&lt;br /&gt;
        check_policy_service unix:postgrey/socket,&lt;br /&gt;
        permit&lt;br /&gt;
&lt;br /&gt;
* start postgrey daemon/service&lt;br /&gt;
    $ sudo /sbin/service postgrey start&lt;br /&gt;
* set postgrey to start on boot&lt;br /&gt;
    $ sudo /sbin/chkconfig --level 2345 postgrey&lt;br /&gt;
* restart postfix daemon/service&lt;br /&gt;
    $ sudo /sbin/service postfix restart&lt;br /&gt;
* you can watch the greylisting in : /var/log/maillog&lt;br /&gt;
    $ sudo tail -f /var/log/maillog |grep Greylist&lt;br /&gt;
&lt;br /&gt;
== To revert back to original (pre greylisting) config ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/postfix/main.cf and comment out lines 222 to 236&lt;br /&gt;
 &lt;br /&gt;
    smtpd_recipient_restrictions = permit_mynetworks,&lt;br /&gt;
        permit_sasl_authenticated,&lt;br /&gt;
        reject_invalid_hostname,&lt;br /&gt;
        reject_non_fqdn_hostname,&lt;br /&gt;
        reject_non_fqdn_sender,&lt;br /&gt;
        reject_unauth_destination,&lt;br /&gt;
        reject_unknown_recipient_domain,&lt;br /&gt;
        reject_unauth_pipelining,&lt;br /&gt;
        reject_unauth_destination,&lt;br /&gt;
        #reject_rbl_client list.dsbl.org,&lt;br /&gt;
        #reject_rbl_client sbl.spamhaus.org,&lt;br /&gt;
        #reject_rbl_client zen.spamhaus.org,&lt;br /&gt;
        #reject_rbl_client lists.spam.sux.com,&lt;br /&gt;
        check_policy_service unix:postgrey/socket,&lt;br /&gt;
        permit&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Restart postfix&lt;br /&gt;
&lt;br /&gt;
 $ sudo /sbin/service postfix restart&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* http://www.howtoforge.com/greylisting_postfix_postgrey&lt;br /&gt;
&lt;br /&gt;
[[Category: Infrastructure]]&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Postgrey&amp;diff=23618</id>
		<title>Postgrey</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Postgrey&amp;diff=23618"/>
		<updated>2008-03-18T20:17:04Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* ''&amp;quot;Postgrey is a Postfix policy server implementing greylisting&amp;quot;'' -- [[http://postgrey.schweikert.ch/ web site]]&lt;br /&gt;
* Responding to [http://trac.osgeo.org/osgeo/ticket/190 this SAC ticket]&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
It uses the BerkeleyDB, and other, perl modules.  Perl's -MCPAN install option was failing on building BerkeleyDB module, so RPMs were gathered from searches to pbone.net for RHEL4.  Then they were installed like this:&lt;br /&gt;
 sudo rpm -i perl-BerkeleyDB-0.33-1.el4.rf.i386.rpm perl-IO-Multiplex-1.09-3.el4.pp.noarch.rpm  perl-Net-Server-0.97-2.el4.pp.noarch.rpm postgrey-1.31-1.el4.rf.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Install &amp;amp; Config ==&lt;br /&gt;
&lt;br /&gt;
* For more install instructions see the manual (man) pages for postgrey on the server.&lt;br /&gt;
* Edit /etc/postfix/main.cf file adding:&lt;br /&gt;
...&lt;br /&gt;
smtpd_recipient_restrictions = permit_mynetworks,&lt;br /&gt;
        permit_sasl_authenticated,&lt;br /&gt;
        reject_invalid_hostname,&lt;br /&gt;
        reject_non_fqdn_hostname,&lt;br /&gt;
        reject_non_fqdn_sender,&lt;br /&gt;
        reject_unauth_destination,&lt;br /&gt;
        reject_unknown_recipient_domain,&lt;br /&gt;
        reject_unauth_pipelining,&lt;br /&gt;
        reject_unauth_destination,&lt;br /&gt;
        #reject_rbl_client list.dsbl.org,&lt;br /&gt;
        #reject_rbl_client sbl.spamhaus.org,&lt;br /&gt;
        #reject_rbl_client zen.spamhaus.org,&lt;br /&gt;
        #reject_rbl_client lists.spam.sux.com,&lt;br /&gt;
        check_policy_service unix:postgrey/socket,&lt;br /&gt;
        permit&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
* start postgrey daemon/service&lt;br /&gt;
    $ sudo /sbin/service postgrey start&lt;br /&gt;
* set postgrey to start on boot&lt;br /&gt;
    $ sudo /sbin/chkconfig --level 2345 postgrey&lt;br /&gt;
* restart postfix daemon/service&lt;br /&gt;
    $ sudo /sbin/service postfix restart&lt;br /&gt;
* you can watch the greylisting in : /var/log/maillog&lt;br /&gt;
    $ sudo tail -f /var/log/maillog |grep Greylist&lt;br /&gt;
&lt;br /&gt;
== To revert back to original (pre greylisting) config ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/postfix/main.cf and comment out lines 222 to 236&lt;br /&gt;
...&lt;br /&gt;
    smtpd_recipient_restrictions = permit_mynetworks,&lt;br /&gt;
        permit_sasl_authenticated,&lt;br /&gt;
        reject_invalid_hostname,&lt;br /&gt;
        reject_non_fqdn_hostname,&lt;br /&gt;
        reject_non_fqdn_sender,&lt;br /&gt;
        reject_unauth_destination,&lt;br /&gt;
        reject_unknown_recipient_domain,&lt;br /&gt;
        reject_unauth_pipelining,&lt;br /&gt;
        reject_unauth_destination,&lt;br /&gt;
        #reject_rbl_client list.dsbl.org,&lt;br /&gt;
        #reject_rbl_client sbl.spamhaus.org,&lt;br /&gt;
        #reject_rbl_client zen.spamhaus.org,&lt;br /&gt;
        #reject_rbl_client lists.spam.sux.com,&lt;br /&gt;
        check_policy_service unix:postgrey/socket,&lt;br /&gt;
        permit&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Restart postfix&lt;br /&gt;
&lt;br /&gt;
 $ sudo /sbin/service postfix restart&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* http://www.howtoforge.com/greylisting_postfix_postgrey&lt;br /&gt;
&lt;br /&gt;
[[Category: Infrastructure]]&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Postgrey&amp;diff=23617</id>
		<title>Postgrey</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Postgrey&amp;diff=23617"/>
		<updated>2008-03-18T20:02:43Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* ''&amp;quot;Postgrey is a Postfix policy server implementing greylisting&amp;quot;'' -- [[http://postgrey.schweikert.ch/ web site]]&lt;br /&gt;
* Responding to [http://trac.osgeo.org/osgeo/ticket/190 this SAC ticket]&lt;br /&gt;
== Dependencies ==&lt;br /&gt;
It uses the BerkeleyDB, and other, perl modules.  Perl's -MCPAN install option was failing on building BerkeleyDB module, so RPMs were gathered from searches to pbone.net for RHEL4.  Then they were installed like this:&lt;br /&gt;
 sudo rpm -i perl-BerkeleyDB-0.33-1.el4.rf.i386.rpm perl-IO-Multiplex-1.09-3.el4.pp.noarch.rpm  perl-Net-Server-0.97-2.el4.pp.noarch.rpm postgrey-1.31-1.el4.rf.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Install &amp;amp; Config ==&lt;br /&gt;
&lt;br /&gt;
* For more install instructions see the manual (man) pages for postgrey on the server.&lt;br /&gt;
* Edit /etc/postfix/main.cf file adding:&lt;br /&gt;
 ...&lt;br /&gt;
smtpd_recipient_restrictions = permit_mynetworks,&lt;br /&gt;
        permit_sasl_authenticated,&lt;br /&gt;
        reject_invalid_hostname,&lt;br /&gt;
        reject_non_fqdn_hostname,&lt;br /&gt;
        reject_non_fqdn_sender,&lt;br /&gt;
        reject_unauth_destination,&lt;br /&gt;
        reject_unknown_recipient_domain,&lt;br /&gt;
        reject_unauth_pipelining,&lt;br /&gt;
        reject_unauth_destination,&lt;br /&gt;
        #reject_rbl_client list.dsbl.org,&lt;br /&gt;
        #reject_rbl_client sbl.spamhaus.org,&lt;br /&gt;
        #reject_rbl_client zen.spamhaus.org,&lt;br /&gt;
        #reject_rbl_client lists.spam.sux.com,&lt;br /&gt;
        check_policy_service unix:postgrey/socket,&lt;br /&gt;
        permit&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
* start postgrey daemon/service&lt;br /&gt;
    $ sudo /sbin/service postgrey start&lt;br /&gt;
* set postgrey to start on boot&lt;br /&gt;
    $ sudo /sbin/chkconfig --level 2345 postgrey&lt;br /&gt;
* restart postfix daemon/service&lt;br /&gt;
    $ sudo /sbin/service postfix restart&lt;br /&gt;
* you can watch the greylisting in : /var/log/maillog&lt;br /&gt;
    $ sudo tail -f /var/log/maillog |grep Greylist&lt;br /&gt;
&lt;br /&gt;
== To revert back to original (pre greylisting) config ==&lt;br /&gt;
&lt;br /&gt;
Edit /etc/postfix/main.cf and comment out lines 222 to 236&lt;br /&gt;
...&lt;br /&gt;
    smtpd_recipient_restrictions = permit_mynetworks,&lt;br /&gt;
        permit_sasl_authenticated,&lt;br /&gt;
        reject_invalid_hostname,&lt;br /&gt;
        reject_non_fqdn_hostname,&lt;br /&gt;
        reject_non_fqdn_sender,&lt;br /&gt;
        reject_unauth_destination,&lt;br /&gt;
        reject_unknown_recipient_domain,&lt;br /&gt;
        reject_unauth_pipelining,&lt;br /&gt;
        reject_unauth_destination,&lt;br /&gt;
        #reject_rbl_client list.dsbl.org,&lt;br /&gt;
        #reject_rbl_client sbl.spamhaus.org,&lt;br /&gt;
        #reject_rbl_client zen.spamhaus.org,&lt;br /&gt;
        #reject_rbl_client lists.spam.sux.com,&lt;br /&gt;
        check_policy_service unix:postgrey/socket,&lt;br /&gt;
        permit&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Restart postfix&lt;br /&gt;
&lt;br /&gt;
 $ sudo /sbin/service postfix restart&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* http://www.howtoforge.com/greylisting_postfix_postgrey&lt;br /&gt;
&lt;br /&gt;
[[Category: Infrastructure]]&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=SAC_Service_Status&amp;diff=17568</id>
		<title>SAC Service Status</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=SAC_Service_Status&amp;diff=17568"/>
		<updated>2007-08-27T14:36:54Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Infrastructure of OSGeo System Administration Committee ([[SAC]])&lt;br /&gt;
&lt;br /&gt;
= System List = &lt;br /&gt;
&lt;br /&gt;
WE NEED TO DO OUR HOMEWORK AND COMPLETE THIS PAGE.&lt;br /&gt;
&lt;br /&gt;
SVN and Trac are utilizing our central OSGeo LDAP server for authentication - a start towards the dream of one OSGeo userid/password for a variety of services and projects.  We also have the capacity to capture project history in a migration to SVN for folks using CVS now.&lt;br /&gt;
&lt;br /&gt;
Buildbot, for those not familiar with it, is used to do automated builds of software packages from svn, run tests suites, and provide a status web page indicating how it is working.  An example is at:&lt;br /&gt;
&lt;br /&gt;
  http://buildbot.osgeo.org:8500/&lt;br /&gt;
&lt;br /&gt;
The download server is just a server providing http download from a directory tree, but it is on a high speed network (telascience.org) with lots of bandwidth.&lt;br /&gt;
&lt;br /&gt;
== Server osgeo.org ==&lt;br /&gt;
* Hardware - sbarnes, Howard Butler, Tyler Mitchell, Frank Warmderdam&lt;br /&gt;
* Software:&lt;br /&gt;
** Web pages - Tyler Mitchell, ... ([[OSGeo Portal Site|info]])&lt;br /&gt;
** postfix - Tyler Mitchell, ... &lt;br /&gt;
** Linux updates - Tyler Mitchell, ... ([[SAC:Standard System Setup|info]])&lt;br /&gt;
** LDAP - ? ([[SAC:Setup LDAP Authentication|info]])&lt;br /&gt;
** backup - Shawn Barnes&lt;br /&gt;
** SSL certificate - Shawn Barnes (configuration)&lt;br /&gt;
** DNS - Shawn Barnes&lt;br /&gt;
** SVN - Howard Butler ([[Subversion|info]])&lt;br /&gt;
** IPTABLES - Shawn Barnes&lt;br /&gt;
** general Unix support upon demand - Martin Spott&lt;br /&gt;
* Virtual Hosts&lt;br /&gt;
** trac.osgeo.org - Howard Butler ([[Trac Instances|info]])&lt;br /&gt;
** lists.osgeo.org - Tyler Mitchell ([[SAC:Mailing Lists|info]])&lt;br /&gt;
** buildbot.osgeo.org - Howard Butler ([[BuildBot Configuration|info]])&lt;br /&gt;
** download.osgeo.org - Mateusz Loskot ([[Download Server|info]])&lt;br /&gt;
&lt;br /&gt;
'''Emergency plans:'''&lt;br /&gt;
* ISP/DNS problem: what to do? do we need to call anyone?&lt;br /&gt;
* hardware reset: Shawn Barnes (+1 613.565.5056 - Ottawa business hours), Howard Butler, Tyler Mitchell, Frank Warmderdam (+1 613.754.2041 - anytime). One option is a power cycle on the UPS to restart osgeo.org, using the &amp;quot;Reboot Immediate&amp;quot; item on the UPS.&lt;br /&gt;
&lt;br /&gt;
== OSGeo Wiki (wiki.osgeo.org) ==&lt;br /&gt;
&lt;br /&gt;
* Maintained at and by terrestris.de&lt;br /&gt;
* Responsible: XXX&lt;br /&gt;
&lt;br /&gt;
Emergency plan: ...&lt;br /&gt;
&lt;br /&gt;
Currently working on migration to telascience (http://trac.osgeo.org/osgeo/ticket/103)&lt;br /&gt;
&lt;br /&gt;
== Telascience Blades ==&lt;br /&gt;
&lt;br /&gt;
''This page only describes some of the core systems and is not a full description of the telascience reality in any way''&lt;br /&gt;
&lt;br /&gt;
* [[HyperCube]] for geodata&lt;br /&gt;
* xblade10-2 (198.202.74.215) FC4&lt;br /&gt;
** new server: new install, ldap enabled, yum updated Nov 5th/2006.&lt;br /&gt;
** mapbender.telascience.org; Postgres MySQL running &lt;br /&gt;
*** http://mapbender.telascience.org/&lt;br /&gt;
*** https://198.202.74.215/phpMyAdmin/&lt;br /&gt;
*** https://198.202.74.215/phpPgAdmin/&lt;br /&gt;
&lt;br /&gt;
* xblade11-2 (198.202.74.216) FC4&lt;br /&gt;
** new server: new install, ldap enabled, yum updated July 20th/2006.&lt;br /&gt;
** geodata.telascience.org; Assigned for [[Geodata processing at telascience.org|geodata work]] for now, and to be named dev.geodata.osgeo.org or something similar. Binaries on geodata:&lt;br /&gt;
*** all GIS binaries are installed into /usr/local/*&lt;br /&gt;
*** /usr/local/lib was added to /etc/ld.so.conf &lt;br /&gt;
&lt;br /&gt;
* xblade12-2 (198.202.74.217) FC4&lt;br /&gt;
** new server: new install, no ldap or remotely mounted home.&lt;br /&gt;
** This machine is allocated to [[Kids GIS Portal]] &lt;br /&gt;
&lt;br /&gt;
* xblade13-2 (198.202.74.218) FC4&lt;br /&gt;
** shell.telascience.org: Lots of software installed, general use.&lt;br /&gt;
** Also used for [[DevelopmentDrupalInstance]] - contact Kanhaiya Kale. &lt;br /&gt;
&lt;br /&gt;
* xblade14-2 (198.202.74.219) FC4&lt;br /&gt;
** new server: new install, ldap enabled, yum updated July 19th/2006.&lt;br /&gt;
** using for Frank and Mateusz' experiments with [[OSGeo BuildBot Configuration]]. &lt;br /&gt;
** Using for [[Community Mapbuilder Continuum Builds]].&lt;br /&gt;
** Using for [[Download Server]].&lt;br /&gt;
&lt;br /&gt;
* xblade15-2 (198.202.74.220) FC4&lt;br /&gt;
** ldap.telascience.org: Fedora Directory Server. LDAP server.&lt;br /&gt;
** osgeo.telascience.org: Plone&lt;br /&gt;
** txtmob.telascience.org: SMS Smart Mob system&lt;br /&gt;
** gpstrack.telascience.org: Plone GPS / APRS / Cell tracking .... wishing ;)&lt;br /&gt;
** mediawiki.telascience.org (wiki.osgeo.org [http://trac.osgeo.org/osgeo/ticket/103 migration in progress]) &lt;br /&gt;
** ISO mirroring &lt;br /&gt;
&lt;br /&gt;
* sparcblade8 (198.202.74.213) Solaris 2.9&lt;br /&gt;
** civicspace.telascience.org: experimental community portal&lt;br /&gt;
&lt;br /&gt;
= Services = &lt;br /&gt;
&lt;br /&gt;
* LDAP (on .74.220)&lt;br /&gt;
* Plone (on .74.220)&lt;br /&gt;
* HTTPD (on .74.220)&lt;br /&gt;
* [[OSGeo GeoNetwork Installation]]&lt;br /&gt;
&lt;br /&gt;
= Known Issues = &lt;br /&gt;
&lt;br /&gt;
* .216/.217/.218/.219: need Admin group in sudoers file. &lt;br /&gt;
* .74.220 is not using ldap authentication for shell access. &lt;br /&gt;
* Access to LDAP server needs to be restricted to specific machines somehow?&lt;br /&gt;
* We have to create userids on the LDAP server manually, can't be done through plone without a lot of work.&lt;br /&gt;
* Plone instance is not using LDAP for authentication.&lt;br /&gt;
&lt;br /&gt;
== Service Groups ==&lt;br /&gt;
&lt;br /&gt;
Currently, shell access is limited to users in the LDAP schema under the &amp;quot;Shell&amp;quot; group.  No further &lt;br /&gt;
group authorization/granularity exists at this time.  It is desireable to have &amp;quot;Shell&amp;quot; be &lt;br /&gt;
broken into groups like &amp;quot;Database&amp;quot;, &amp;quot;Subversion Admin&amp;quot;, etc to distribute the administration of &lt;br /&gt;
those tasks.&lt;br /&gt;
&lt;br /&gt;
[[Category:Infrastructure]]&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=SAC_Service_Status&amp;diff=17561</id>
		<title>SAC Service Status</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=SAC_Service_Status&amp;diff=17561"/>
		<updated>2007-08-27T14:35:34Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Infrastructure of OSGeo System Administration Committee ([[SAC]])&lt;br /&gt;
&lt;br /&gt;
= System List = &lt;br /&gt;
&lt;br /&gt;
WE NEED TO DO OUR HOMEWORK AND COMPLETE THIS PAGE.&lt;br /&gt;
&lt;br /&gt;
SVN and Trac are utilizing our central OSGeo LDAP server for authentication - a start towards the dream of one OSGeo userid/password for a variety of services and projects.  We also have the capacity to capture project history in a migration to SVN for folks using CVS now.&lt;br /&gt;
&lt;br /&gt;
Buildbot, for those not familiar with it, is used to do automated builds of software packages from svn, run tests suites, and provide a status web page indicating how it is working.  An example is at:&lt;br /&gt;
&lt;br /&gt;
  http://buildbot.osgeo.org:8500/&lt;br /&gt;
&lt;br /&gt;
The download server is just a server providing http download from a directory tree, but it is on a high speed network (telascience.org) with lots of bandwidth.&lt;br /&gt;
&lt;br /&gt;
== Server osgeo.org ==&lt;br /&gt;
* Hardware - sbarnes, Howard Butler, Tyler Mitchell, Frank Warmderdam&lt;br /&gt;
* Software:&lt;br /&gt;
** Web pages - Tyler Mitchell, ... ([[OSGeo Portal Site|info]])&lt;br /&gt;
** postfix - Tyler Mitchell, ... &lt;br /&gt;
** Linux updates - Tyler Mitchell, ... ([[SAC:Standard System Setup|info]])&lt;br /&gt;
** LDAP - ? ([[SAC:Setup LDAP Authentication|info]])&lt;br /&gt;
** backup - Shawn Barnes&lt;br /&gt;
** SSL certificate - Shawn Barnes (configuration)&lt;br /&gt;
** DNS - Shawn Barnes&lt;br /&gt;
** SVN - Howard Butler ([[Subversion|info]])&lt;br /&gt;
** general Unix support upon demand - Martin Spott&lt;br /&gt;
* Virtual Hosts&lt;br /&gt;
** trac.osgeo.org - Howard Butler ([[Trac Instances|info]])&lt;br /&gt;
** lists.osgeo.org - Tyler Mitchell ([[SAC:Mailing Lists|info]])&lt;br /&gt;
** buildbot.osgeo.org - Howard Butler ([[BuildBot Configuration|info]])&lt;br /&gt;
** download.osgeo.org - Mateusz Loskot ([[Download Server|info]])&lt;br /&gt;
&lt;br /&gt;
'''Emergency plans:'''&lt;br /&gt;
* ISP/DNS problem: what to do? do we need to call anyone?&lt;br /&gt;
* hardware reset: Shawn Barnes (+1 613.565.5056 - Ottawa business hours), Howard Butler, Tyler Mitchell, Frank Warmderdam (+1 613.754.2041 - anytime). One option is a power cycle on the UPS to restart osgeo.org, using the &amp;quot;Reboot Immediate&amp;quot; item on the UPS.&lt;br /&gt;
&lt;br /&gt;
== OSGeo Wiki (wiki.osgeo.org) ==&lt;br /&gt;
&lt;br /&gt;
* Maintained at and by terrestris.de&lt;br /&gt;
* Responsible: XXX&lt;br /&gt;
&lt;br /&gt;
Emergency plan: ...&lt;br /&gt;
&lt;br /&gt;
Currently working on migration to telascience (http://trac.osgeo.org/osgeo/ticket/103)&lt;br /&gt;
&lt;br /&gt;
== Telascience Blades ==&lt;br /&gt;
&lt;br /&gt;
''This page only describes some of the core systems and is not a full description of the telascience reality in any way''&lt;br /&gt;
&lt;br /&gt;
* [[HyperCube]] for geodata&lt;br /&gt;
* xblade10-2 (198.202.74.215) FC4&lt;br /&gt;
** new server: new install, ldap enabled, yum updated Nov 5th/2006.&lt;br /&gt;
** mapbender.telascience.org; Postgres MySQL running &lt;br /&gt;
*** http://mapbender.telascience.org/&lt;br /&gt;
*** https://198.202.74.215/phpMyAdmin/&lt;br /&gt;
*** https://198.202.74.215/phpPgAdmin/&lt;br /&gt;
&lt;br /&gt;
* xblade11-2 (198.202.74.216) FC4&lt;br /&gt;
** new server: new install, ldap enabled, yum updated July 20th/2006.&lt;br /&gt;
** geodata.telascience.org; Assigned for [[Geodata processing at telascience.org|geodata work]] for now, and to be named dev.geodata.osgeo.org or something similar. Binaries on geodata:&lt;br /&gt;
*** all GIS binaries are installed into /usr/local/*&lt;br /&gt;
*** /usr/local/lib was added to /etc/ld.so.conf &lt;br /&gt;
&lt;br /&gt;
* xblade12-2 (198.202.74.217) FC4&lt;br /&gt;
** new server: new install, no ldap or remotely mounted home.&lt;br /&gt;
** This machine is allocated to [[Kids GIS Portal]] &lt;br /&gt;
&lt;br /&gt;
* xblade13-2 (198.202.74.218) FC4&lt;br /&gt;
** shell.telascience.org: Lots of software installed, general use.&lt;br /&gt;
** Also used for [[DevelopmentDrupalInstance]] - contact Kanhaiya Kale. &lt;br /&gt;
&lt;br /&gt;
* xblade14-2 (198.202.74.219) FC4&lt;br /&gt;
** new server: new install, ldap enabled, yum updated July 19th/2006.&lt;br /&gt;
** using for Frank and Mateusz' experiments with [[OSGeo BuildBot Configuration]]. &lt;br /&gt;
** Using for [[Community Mapbuilder Continuum Builds]].&lt;br /&gt;
** Using for [[Download Server]].&lt;br /&gt;
&lt;br /&gt;
* xblade15-2 (198.202.74.220) FC4&lt;br /&gt;
** ldap.telascience.org: Fedora Directory Server. LDAP server.&lt;br /&gt;
** osgeo.telascience.org: Plone&lt;br /&gt;
** txtmob.telascience.org: SMS Smart Mob system&lt;br /&gt;
** gpstrack.telascience.org: Plone GPS / APRS / Cell tracking .... wishing ;)&lt;br /&gt;
** mediawiki.telascience.org (wiki.osgeo.org [http://trac.osgeo.org/osgeo/ticket/103 migration in progress]) &lt;br /&gt;
** ISO mirroring &lt;br /&gt;
&lt;br /&gt;
* sparcblade8 (198.202.74.213) Solaris 2.9&lt;br /&gt;
** civicspace.telascience.org: experimental community portal&lt;br /&gt;
&lt;br /&gt;
= Services = &lt;br /&gt;
&lt;br /&gt;
* LDAP (on .74.220)&lt;br /&gt;
* Plone (on .74.220)&lt;br /&gt;
* HTTPD (on .74.220)&lt;br /&gt;
* [[OSGeo GeoNetwork Installation]]&lt;br /&gt;
&lt;br /&gt;
= Known Issues = &lt;br /&gt;
&lt;br /&gt;
* .216/.217/.218/.219: need Admin group in sudoers file. &lt;br /&gt;
* .74.220 is not using ldap authentication for shell access. &lt;br /&gt;
* Access to LDAP server needs to be restricted to specific machines somehow?&lt;br /&gt;
* We have to create userids on the LDAP server manually, can't be done through plone without a lot of work.&lt;br /&gt;
* Plone instance is not using LDAP for authentication.&lt;br /&gt;
&lt;br /&gt;
== Service Groups ==&lt;br /&gt;
&lt;br /&gt;
Currently, shell access is limited to users in the LDAP schema under the &amp;quot;Shell&amp;quot; group.  No further &lt;br /&gt;
group authorization/granularity exists at this time.  It is desireable to have &amp;quot;Shell&amp;quot; be &lt;br /&gt;
broken into groups like &amp;quot;Database&amp;quot;, &amp;quot;Subversion Admin&amp;quot;, etc to distribute the administration of &lt;br /&gt;
those tasks.&lt;br /&gt;
&lt;br /&gt;
[[Category:Infrastructure]]&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=FGSDevNotes&amp;diff=16124</id>
		<title>FGSDevNotes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=FGSDevNotes&amp;diff=16124"/>
		<updated>2007-07-09T14:54:09Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [http://www.maptools.org/fgs/index.phtml?page=home.html MapTools FGS Pages] contain a variety of information for FGS users, and those wanting to develop packages for it.  This page is mostly suplementary information as I learn my way around developing for FGS. &lt;br /&gt;
&lt;br /&gt;
== FAQs ==&lt;br /&gt;
&lt;br /&gt;
Q: Some of the source distributions are no longer available at their original urls so my builds fail. &lt;br /&gt;
&lt;br /&gt;
A: Download packages from http://dl.maptools.org/dl/fgs/fgs-dev/fgs-cache/ to your fgs-dev/cache directory.  In some cases, downloads will *appear* to succeed, like libpng, but in fact all you get is an html file indicating the path is wrong.  Caveat emptor. &lt;br /&gt;
&lt;br /&gt;
Q: When I use &amp;quot;fgsdev custom_build_list create _module_name_1_ _module_name_2_&amp;quot; what do I use for module names? &lt;br /&gt;
&lt;br /&gt;
A: Look in fgs-dev/pkg_def/build.list, and use names from that file, with &amp;quot;-base&amp;quot; appended.  So the file has &amp;quot;tiff:3.7.2&amp;quot; but you would use &amp;quot;tiff-base&amp;quot; as the package name.  I'm not sure why the -base.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== notes on FGS-DEV layout ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Basic Directory Structure of FGS-DEV'''&lt;br /&gt;
&lt;br /&gt;
 fgs-dev/-|&lt;br /&gt;
          |--bin/--|&lt;br /&gt;
          |        |--lib/&lt;br /&gt;
          |&lt;br /&gt;
          |--cache/&lt;br /&gt;
          |&lt;br /&gt;
          |src/&lt;br /&gt;
          |&lt;br /&gt;
          |&lt;br /&gt;
          |--pkg_def/--|&lt;br /&gt;
          |            |--_misc/&lt;br /&gt;
          |            |--&amp;lt;package_name&amp;gt;/--| &lt;br /&gt;
          |                                |--base.skeleton/&lt;br /&gt;
          |--built/--|&lt;br /&gt;
          |          |--_lib/&lt;br /&gt;
          |          |--&amp;lt;package_name&amp;gt;/&lt;br /&gt;
          |&lt;br /&gt;
          |--modules/--|&lt;br /&gt;
                       |--base/&lt;br /&gt;
                       |--&amp;lt;module_name&amp;gt;/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''definitions:'''&lt;br /&gt;
*package - source code package&lt;br /&gt;
*module  - fgs-dev tar gzipped of compiled package&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''fgs-dev/'''&lt;br /&gt;
*Root directory for fgs-dev environment.&lt;br /&gt;
&lt;br /&gt;
Contains:&lt;br /&gt;
**Setenv.sh&lt;br /&gt;
***sets up the fgs-dev env vars&lt;br /&gt;
****FGS_DEV_HOME (location fgs-dev)&lt;br /&gt;
****PATH ($FGS_DEV_HOME/bin to beginning of PATH)&lt;br /&gt;
****PYTHONPATH&lt;br /&gt;
****LD_LIBRARY_PATH ($FGS_DEV_HOME/built/_lib)&lt;br /&gt;
****FGS_SRC_CACHE_DIR ($FGS_DEV_HOME/cache)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''fgs-dev/bin'''&lt;br /&gt;
*Main directory for all fgsdev commands used to build fgs modules&lt;br /&gt;
&lt;br /&gt;
Contains:&lt;br /&gt;
**fgsdev&lt;br /&gt;
***wrapper for fgsdev commands&lt;br /&gt;
****fgsdev custom_build_list&lt;br /&gt;
****fgsdev build_all&lt;br /&gt;
****fgsdev build_pkg &amp;lt;package_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
**fgs_build_all.sh&lt;br /&gt;
***builds all packages listed in fgs-dev/build.list by calling fgs_build_pkg.sh for each entry&lt;br /&gt;
&lt;br /&gt;
**fgs_build_pkg.sh&lt;br /&gt;
***build a single package by calling:&lt;br /&gt;
****fgs-dev/src/&amp;lt;package_name&amp;gt;/fgs_build.sh &lt;br /&gt;
****fgs-dev/src/&amp;lt;package_name&amp;gt;/fgs_install.sh  &lt;br /&gt;
&lt;br /&gt;
**fgs_installer.sh&lt;br /&gt;
***script to install fgs&lt;br /&gt;
&lt;br /&gt;
'''fgs-dev/bin/lib'''&lt;br /&gt;
&lt;br /&gt;
*Dirctory that contains all commands and functions used by scripts in fgs-dev/bin&lt;br /&gt;
&lt;br /&gt;
Contains:&lt;br /&gt;
**fgsdev_env.sh -&lt;br /&gt;
***sets FGS-DEV env vars to configure and compile src packages&lt;br /&gt;
****UNAME_MACHINE&lt;br /&gt;
****UNAME_SYSTEM&lt;br /&gt;
****FGS_PKGS_DEF_HOME ($FGS_DEV_HOME/pkg_def)&lt;br /&gt;
****FGS_STANDARD_BUILD_FILE ($FGS_PKGS_DEF_HOME/build.list)&lt;br /&gt;
****FGS_CUSTOM_BUILD_FILE ($FGS_DEV_HOME/build.list)&lt;br /&gt;
****FGS_BUILD_HOME ($FGS_DEV_HOME/built)&lt;br /&gt;
****FGS_LIB_DIR ($FGS_DEV_HOME/built/_lib)&lt;br /&gt;
****FGS_MODULES_HOME ($FGS_DEV_HOME/modules)&lt;br /&gt;
****FGS_CUSTOM_BUILD_FILE ($FGS_DEV_HOME/build.list)&lt;br /&gt;
****FGSENV_MODULES_DIR&lt;br /&gt;
****export PATH=&amp;quot;$FGS_DEV_HOME:$PATH&amp;quot; &lt;br /&gt;
****export LD_LIBRARY_PATH=&amp;quot;$FGS_LIB_DIR:$LD_LIBRARY_PATH&amp;quot;&lt;br /&gt;
            &lt;br /&gt;
**custom_build_list.sh &lt;br /&gt;
***creates a custom $FGS_DEV_HOME/build.list file&lt;br /&gt;
&lt;br /&gt;
**build_base.sh &lt;br /&gt;
***creates the fgs-base module&lt;br /&gt;
&lt;br /&gt;
**install_src.sh&lt;br /&gt;
***Uses build.list files to determine what package and version to build&lt;br /&gt;
****build.list is a list of source code packages with version number that fgs-dev will build &lt;br /&gt;
****checks for FGS_CUSTOM_BUILD_FILE&lt;br /&gt;
****compares FGS_CUSTOM_BUILD_FILE with FGS_STANDARD_BUILD_FILE&lt;br /&gt;
*****if CUSTOM_BUILD_FILE doesn't contain a version number then gets version number from STANDARD_BUILD_FILE&lt;br /&gt;
*****checks if package in the FGS_SRC_CACHE_DIR if not in source directory will download the source using information in fgs-dev/pkg_def/&amp;lt;package_name&amp;gt;/def.sh file&lt;br /&gt;
****extract source archive to fgs-dev/src/&lt;br /&gt;
&lt;br /&gt;
**check_dep.sh &lt;br /&gt;
***Checks that a packages dependencies are built before building a packages&lt;br /&gt;
***references fgs-dev/pkg_defs/&amp;lt;package_name&amp;gt;/base.required (listing of dependencies)&lt;br /&gt;
&lt;br /&gt;
**list_module_dep.sh &lt;br /&gt;
***get module dependicies of a specific module&lt;br /&gt;
&lt;br /&gt;
**module.sh&lt;br /&gt;
***create module directory fgs-dev/modules/&amp;lt;module_name&amp;gt;&lt;br /&gt;
***copy fgs-dev/pkg_def/&amp;lt;package_name&amp;gt;/base.skeleton to module directory&lt;br /&gt;
***create module by tar gzipping module directory&lt;br /&gt;
&lt;br /&gt;
**self-installer.sh&lt;br /&gt;
***create self extracing installer for fgs modules&lt;br /&gt;
&lt;br /&gt;
**self-extractor_header.sh&lt;br /&gt;
&lt;br /&gt;
**specific-freebsd.sh&lt;br /&gt;
***fix for freebsd make install options&lt;br /&gt;
&lt;br /&gt;
'''fgs-dev/cache'''&lt;br /&gt;
&lt;br /&gt;
Contains all packages needed for building fgs-dev modules.  &lt;br /&gt;
FGS-DEV will download a specific package version if it does not already exist in this directory.&lt;br /&gt;
&lt;br /&gt;
'''fgs-dev/src'''&lt;br /&gt;
&lt;br /&gt;
Used for extracting and compiling source code packages&lt;br /&gt;
&lt;br /&gt;
'''fgs-dev/pkg_def'''&lt;br /&gt;
&lt;br /&gt;
Contains the standard build.list file&lt;br /&gt;
&lt;br /&gt;
Contains a directory for each fgs package&lt;br /&gt;
&lt;br /&gt;
'''fgs-dev/pkg_def/&amp;lt;package_name&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Instructions for building package and creating modules&lt;br /&gt;
&lt;br /&gt;
Contains:&lt;br /&gt;
**def.sh&lt;br /&gt;
***contains information for downloading source code&lt;br /&gt;
&lt;br /&gt;
**base.required&lt;br /&gt;
***list of required modules&lt;br /&gt;
&lt;br /&gt;
**fgs_build.sh&lt;br /&gt;
***calls fgs-dev/bin/lib/fgsdev_env.sh to create build env&lt;br /&gt;
***configures and makes package&lt;br /&gt;
***minimally sets --prefix=$FGS_BUILD_HOME/&amp;lt;package_name&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
**fgs_install.sh&lt;br /&gt;
***calls fgs-dev/bin/lib/fgsdev_env.sh to create build env&lt;br /&gt;
***calls fgs-dev/bin/lib/module.sh&lt;br /&gt;
***creates module in fgs-dev/modules/&amp;lt;module_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
**base.skeleton/&lt;br /&gt;
***skeleton directory used to create the modules base strucuture&lt;br /&gt;
&lt;br /&gt;
**base.skeleton/etc/fgs/pkgs/&amp;lt;module_name&amp;gt;/&lt;br /&gt;
***contains install.sh - a post install script used when installing the module in fgs&lt;br /&gt;
&lt;br /&gt;
'''fgs-dev/built'''&lt;br /&gt;
&lt;br /&gt;
All packages intalled to this directory with &amp;quot;make install&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''fgs-dev/built/_lib'''&lt;br /&gt;
&lt;br /&gt;
FGS_DEV's library directory (LD_LIBRARY_PATH).  &lt;br /&gt;
Each packages fgs_install.sh script copies *.so files to this directory &lt;br /&gt;
&lt;br /&gt;
'''fgs-dev/modules'''&lt;br /&gt;
&lt;br /&gt;
Contains all fgs-dev modules that can then by installed via the fgs installer script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Basic usage of fgs-dev'''&lt;br /&gt;
&lt;br /&gt;
    Get fgs-dev environment&lt;br /&gt;
    $ cvs -d :pserver:cvsanon@cvs.maptools.org:/cvs/maptools/cvsroot login&lt;br /&gt;
    $ cvs -d :pserver:cvsanon@cvs.maptools.org:/cvs/maptools/cvsroot co fgs-dev&lt;br /&gt;
    $ cd fgs-dev&lt;br /&gt;
    ** set fgs-dev's environment &lt;br /&gt;
    $ . setenv.sh&lt;br /&gt;
    ** create custom build.list&lt;br /&gt;
    $ fgsdev custom_build_list create mapserver-base&lt;br /&gt;
       - creates fgs-dev/build.list&lt;br /&gt;
       - this file can be edited (I.E. require specific versions)&lt;br /&gt;
          - to require a specific version add it to the 2nd column&lt;br /&gt;
&lt;br /&gt;
    ---------- build.list --------------&lt;br /&gt;
    jpeg:::&lt;br /&gt;
    tiff:::&lt;br /&gt;
    pdflib_lite:::&lt;br /&gt;
    libpng:::&lt;br /&gt;
    freetype:::&lt;br /&gt;
    libiconv:::&lt;br /&gt;
    gd:::&lt;br /&gt;
    openssl:::&lt;br /&gt;
    netcdf:::&lt;br /&gt;
    curl:::&lt;br /&gt;
    proj:::&lt;br /&gt;
    libgeotiff:::&lt;br /&gt;
    postgresql:::&lt;br /&gt;
    unixODBC:::&lt;br /&gt;
    xerces_c:::&lt;br /&gt;
    libungif:::&lt;br /&gt;
    gdal:::&lt;br /&gt;
    expat:::&lt;br /&gt;
    apache:::&lt;br /&gt;
    libxml2:::&lt;br /&gt;
    sablotron:::&lt;br /&gt;
    php:::&lt;br /&gt;
    mapserver:::&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    ** build all mapserver-base modules and all of it's dependencies&lt;br /&gt;
    $ fgsdev build_all&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''To Add a package to fgs-dev'''&lt;br /&gt;
&lt;br /&gt;
Add the package and any dependencies not provided by fgs to fgs-dev/pkg_def/build.list&lt;br /&gt;
&lt;br /&gt;
*For every package added do:&lt;br /&gt;
&lt;br /&gt;
Add directory to with the package name to fgs-dev/pkg_def&lt;br /&gt;
&lt;br /&gt;
To the fgs-dev/pkg_def/&amp;lt;package_name&amp;gt; add:&lt;br /&gt;
&lt;br /&gt;
''def.sh''&lt;br /&gt;
&lt;br /&gt;
    -------------------def.sh-----------&lt;br /&gt;
    PKG_NAME='&amp;lt;package_name'&lt;br /&gt;
    ARCHIVE_SITE=http://&amp;lt;package_archive_url&amp;gt;&lt;br /&gt;
    ARCHIVE_PREFIX='&amp;lt;packages_archive_prefix&amp;gt;'&lt;br /&gt;
    SRC_FILE=&amp;quot;${ARCHIVE_PREFIX}${SRC_VERSION}.tar.gz&amp;quot; # change to archives postfix&lt;br /&gt;
    ARCHIVE_DOWNLOAD=$ARCHIVE_SITE/${SRC_FILE}&lt;br /&gt;
    ARCHIVE_DIR=${ARCHIVE_PREFIX}${SRC_VERSION}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''base.required''&lt;br /&gt;
***list of required modules&lt;br /&gt;
&lt;br /&gt;
''fgs_build.sh''&lt;br /&gt;
** example file to edit for package's specific needs&lt;br /&gt;
   -----------fgs_build.sh-------------&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   ####&lt;br /&gt;
   ## fgs_build&lt;br /&gt;
   ## $Id: fgs_build,v 1.9 2006/01/17 16:26:15 gdallaire Exp $&lt;br /&gt;
   ## Called by the build_pkg routine. Can be run manually.&lt;br /&gt;
   ## Custom version of this file should live in $FGS_HOME_DEV directory with&lt;br /&gt;
   ## this file name pattern : package_name-fgs_build&lt;br /&gt;
   ####&lt;br /&gt;
   if [ -z &amp;quot;$FGS_DEV_HOME&amp;quot; ] ; then&lt;br /&gt;
       echo &amp;quot;FGS_DEV_HOME not set, please load setenv.sh first...&amp;quot;&lt;br /&gt;
       exit 1&lt;br /&gt;
   fi&lt;br /&gt;
   . $FGS_DEV_HOME/bin/lib/fgsdev_env.sh&lt;br /&gt;
   rm -rf $FGS_BUILD_HOME/&amp;lt;package_name&amp;gt;&lt;br /&gt;
   ./configure --prefix=$FGS_BUILD_HOME/&amp;lt;package_name \&lt;br /&gt;
   in_error_abort&lt;br /&gt;
   make clean&lt;br /&gt;
   in_error_abort&lt;br /&gt;
   make $FGS_MAKE_OPT all&lt;br /&gt;
   in_error_abort&lt;br /&gt;
&lt;br /&gt;
''fgs_install.sh''&lt;br /&gt;
** example file to edit for package's specific needs&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   ####&lt;br /&gt;
   ## fgs_install&lt;br /&gt;
   ## $Id: fgs_install,v 1.7 2005/04/19 03:29:01 gdallaire Exp $&lt;br /&gt;
   ## Called by the build_pkg routine. Can be run manually.&lt;br /&gt;
   ## Custom version of this file should live in $FGS_HOME_DEV directory with&lt;br /&gt;
   ## this file name pattern : package_name-fgs_install&lt;br /&gt;
   ####&lt;br /&gt;
   if [ -z &amp;quot;$FGS_DEV_HOME&amp;quot; ] ; then&lt;br /&gt;
       echo &amp;quot;FGS_DEV_HOME not set, please load setenv.sh first...&amp;quot;&lt;br /&gt;
       exit 1&lt;br /&gt;
   fi&lt;br /&gt;
   . $FGS_DEV_HOME/bin/lib/fgsdev_env.sh&lt;br /&gt;
   . $FGS_DEV_HOME/bin/lib/module.sh&lt;br /&gt;
   ## Installs all in $FGS_BUILD_HOME&lt;br /&gt;
   make install&lt;br /&gt;
   ####&lt;br /&gt;
   ## MODULE_NAME : &amp;lt;module_name&amp;gt;&lt;br /&gt;
   ####&lt;br /&gt;
   create_module_home &amp;lt;module_name&amp;gt; base # or lib if creating a library&lt;br /&gt;
   # copy all needed files from FGS_BUILD_HOME/&amp;lt;package_name&amp;gt; to &lt;br /&gt;
   # FGS_MODULE_HOME/&amp;lt;module_name&amp;gt;&lt;br /&gt;
   create_module&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once the new package and all it's required dependencies are added to fgs-dev you can now use the normal fgsdev commands to build the new module(s)&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Migration_Documentation&amp;diff=11214</id>
		<title>Migration Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Migration_Documentation&amp;diff=11214"/>
		<updated>2007-02-01T16:29:17Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* renaming a list */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
&lt;br /&gt;
All iptables rules must be written in /etc/sysconfig/iptables-custom &lt;br /&gt;
&lt;br /&gt;
Current custom rules are:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/SSH&lt;br /&gt;
   *filter&lt;br /&gt;
   -A OUTPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/VERITAS&lt;br /&gt;
&lt;br /&gt;
''note: this file was placed here by PEER1''&lt;br /&gt;
   *filter&lt;br /&gt;
   -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT&lt;br /&gt;
   -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Apache =&lt;br /&gt;
As the system is Red Hat use /sbin/services httpd start|stop|restart|configtest|reload instead of /usr/sbin/apchectl&lt;br /&gt;
&lt;br /&gt;
the main Config file for apache is,&lt;br /&gt;
/etc/httpd/conf/httpd.conf&lt;br /&gt;
&lt;br /&gt;
additional config files are at&lt;br /&gt;
/etc/httpd/conf.d/&lt;br /&gt;
&lt;br /&gt;
*ssl.conf&lt;br /&gt;
*subversion.conf&lt;br /&gt;
*trac.conf&lt;br /&gt;
*virtual_host.conf&lt;br /&gt;
*rewrite.conf&lt;br /&gt;
*mailman.conf&lt;br /&gt;
*trac.gdal.conf&lt;br /&gt;
*php.conf&lt;br /&gt;
*python.conf&lt;br /&gt;
*perl.conf&lt;br /&gt;
*phpldapadmin.conf - http auth and ssl directives for access to https://www.osgeo.org/ldapadmin&lt;br /&gt;
*working.conf - http auth and ssl directives for access to https://www.osgeo.org/_ldap/ldap.php&lt;br /&gt;
*webalizer.conf - http auth and ssl directives for access to https://www.osgeo.org/usage.php&lt;br /&gt;
&lt;br /&gt;
= Postfix =&lt;br /&gt;
[http://www.postfix.org/documentation.html Postfix documentation]&lt;br /&gt;
&lt;br /&gt;
The postfix daemon can be be stared|stopped|restarted|reloaded with,&lt;br /&gt;
 $ sudo /sbin/service postfix start|stop|restart|reload|abort|flush|check|status|condrestart&lt;br /&gt;
&lt;br /&gt;
The main postfix config file is,&lt;br /&gt;
 /etc/postfix/main.cfg&lt;br /&gt;
&lt;br /&gt;
The aliases file is,&lt;br /&gt;
 /etc/aliases&lt;br /&gt;
&lt;br /&gt;
If aliases file is edited remember to run newaliases&lt;br /&gt;
  $ sudo /usr/bin/newaliases&lt;br /&gt;
  $ sudo /sbin/service postfix reload&lt;br /&gt;
&lt;br /&gt;
= OpenLDAP =&lt;br /&gt;
[http://www.openldap.org/doc/admin23/ OpenLDAP Admin Guide]&lt;br /&gt;
&lt;br /&gt;
The ldap daemon can manipulated with,&lt;br /&gt;
 $ sudo /sbin/service ldap start|stop|restart|&lt;br /&gt;
&lt;br /&gt;
The main ldap config file is,&lt;br /&gt;
 /etc/openldap/slapd.conf&lt;br /&gt;
&lt;br /&gt;
Currently ldap structure is pretty basic.  The purpose for keeping this structure simple is to allow for a more complex structure to be evolved as ldap becomes increasingly integrated into the full osgeo systems structure.&lt;br /&gt;
&lt;br /&gt;
''' Loading an ldif file into an ldap directory '''&lt;br /&gt;
   $ ldapadd -a -W -x -D &amp;quot;cn=Manager,dc=osgeo,dc=org&amp;quot; -f fileName.ldif&lt;br /&gt;
&lt;br /&gt;
''' Accessing the ldap directory through phpldapadmin '''&lt;br /&gt;
&lt;br /&gt;
access an ldapadmin interface at https://www.osgeo.org/ldapadmin&lt;br /&gt;
&lt;br /&gt;
Access to this interface is restricted to the admin group&lt;br /&gt;
&lt;br /&gt;
users can be added to the ou=people,dc=osgeo,dc=org&lt;br /&gt;
once users are added they can then be added to&lt;br /&gt;
cn=project,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
login as cn=Manager,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
*expand dc=osgeo,dc=org tree&lt;br /&gt;
*expand the ou=people tree&lt;br /&gt;
*click on 'create new entry here'&lt;br /&gt;
*choose 'custom' and then 'proceed'&lt;br /&gt;
**RDN is in the form of uid=username&lt;br /&gt;
**ObjectClass is InetOrgPerson&lt;br /&gt;
**click proceed&lt;br /&gt;
***cn is common name in form of firstname lastname&lt;br /&gt;
***sn is surname - lastname&lt;br /&gt;
***no optionals are required&lt;br /&gt;
**click 'create object'&lt;br /&gt;
***on this page click 'add new attribute'&lt;br /&gt;
****choose mail&lt;br /&gt;
*****enter email address&lt;br /&gt;
*****click add&lt;br /&gt;
****on this page click 'add new attribute'&lt;br /&gt;
*****choose userPassord&lt;br /&gt;
*****enter password as an md5&lt;br /&gt;
*****click add&lt;br /&gt;
&lt;br /&gt;
this adds the new user to ou=people&lt;br /&gt;
&lt;br /&gt;
to add users to the cn=project,ou=svn group&lt;br /&gt;
*expand the ou=svn tree&lt;br /&gt;
*click on cn=project&lt;br /&gt;
**under member click 'add value'&lt;br /&gt;
**add user to this in same form as you and howard are listed&lt;br /&gt;
**or can click on the 'folder with magnifying glasss' to select a user&lt;br /&gt;
&lt;br /&gt;
that's it.&lt;br /&gt;
&lt;br /&gt;
=== ldap structure ===&lt;br /&gt;
*dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
**cn=Manager&lt;br /&gt;
&lt;br /&gt;
**ou=people &lt;br /&gt;
&lt;br /&gt;
***Separate entity for each user&lt;br /&gt;
&lt;br /&gt;
*:uid=login,ou=people,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=inetOrgPerson&lt;br /&gt;
*:cn=firstName lastName&lt;br /&gt;
*:sn=lastName&lt;br /&gt;
*:uid=login&lt;br /&gt;
*:mail=email@address&lt;br /&gt;
*:userPassword={md5}YPTyViiMKhiuWKEmFUOKLA==&lt;br /&gt;
&lt;br /&gt;
**ou=projects,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=organizationalUnit&lt;br /&gt;
*:ou=project&lt;br /&gt;
*:description=separate entity for each osgeo project with list of members&lt;br /&gt;
&lt;br /&gt;
***Separate entity for each project group&lt;br /&gt;
*:cn=admin,ou=projects,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=admin&lt;br /&gt;
*:description=osgeo sysadmin group&lt;br /&gt;
&lt;br /&gt;
**ou=svn&lt;br /&gt;
*:objectClass=organizationalUnit&lt;br /&gt;
*:ou=svn&lt;br /&gt;
*:description=separate entity for each repository with list of members with commit rights&lt;br /&gt;
&lt;br /&gt;
***separate entity for each svn group&lt;br /&gt;
*:cn=fdo,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=fdo&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
*:cn=gdal,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=gdal&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
*:cn=mapguide,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=mapguide&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
*:cn=mapbender,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=mapbender&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Example ldif file'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
   version: 1&lt;br /&gt;
&lt;br /&gt;
   dn: dc=osgeo,dc=org&lt;br /&gt;
   objectClass: dcObject&lt;br /&gt;
   objectClass: organization&lt;br /&gt;
   description: OSGeo ldap dit&lt;br /&gt;
   o: OSGeo&lt;br /&gt;
   dc: osgeo&lt;br /&gt;
&lt;br /&gt;
   dn: cn=Manager,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: organizationalRole&lt;br /&gt;
   cn: Manager&lt;br /&gt;
&lt;br /&gt;
   dn: ou=people,dc=osgeo,dc=org&lt;br /&gt;
   ou: people&lt;br /&gt;
   description: all users of osgeo&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: inetOrgPerson&lt;br /&gt;
   uid: jsmith&lt;br /&gt;
   cn: Jon Smith&lt;br /&gt;
   sn: Smith &lt;br /&gt;
   givenName: Jon&lt;br /&gt;
   mail: jsmith@somewhere.com&lt;br /&gt;
   userPassword: {md5}5Or4zfzGqo3jh/6iIUgKcA==&lt;br /&gt;
&lt;br /&gt;
   dn: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: inetOrgPerson&lt;br /&gt;
   uid: jbrown&lt;br /&gt;
   cn: Jane Brown&lt;br /&gt;
   sn: Brown&lt;br /&gt;
   givenName: Jane &lt;br /&gt;
   mail: jbrown@someotherplace.com&lt;br /&gt;
   userPassword: {md5}1iWhTyvkK2m4Uuar+Dp/IA==&lt;br /&gt;
&lt;br /&gt;
   dn: ou=projects,dc=osgeo,dc=org&lt;br /&gt;
   ou: projects&lt;br /&gt;
   description: separate entity for each osgeo project with list of members&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: cn=admin,ou=projects,dc=osgeo,dc=org&lt;br /&gt;
   cn: admin&lt;br /&gt;
   description: osgeo sysadmin group&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   ou: svn&lt;br /&gt;
   description: separate entity for for each repository.list of members with commit rights&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: cn=fdo,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: fdo&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=gdal,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   cn: gdal&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   objectClass: top&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=mapbender,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: mapbender&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=mapguide,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: mapguide&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Subversion =&lt;br /&gt;
[http://svnbook.red-bean.com/nightly/en/index.html Subversion Book]&lt;br /&gt;
=== Creating a repository ===&lt;br /&gt;
   $ sudo mkdir /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo svnadmin /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading a repository from a dumpfile ===&lt;br /&gt;
   $ sudo svnadmin load /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;lt; /path/to/dumpfile&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Dumping a repository ===&lt;br /&gt;
   $ sudo svnadmin dump /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;gt; dumpfile&lt;br /&gt;
&lt;br /&gt;
=== Recovering / unlocking repository ===&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TRAC =&lt;br /&gt;
[http://trac.edgewall.org/wiki/TracGuide Trac Guide]&lt;br /&gt;
=== Creating a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/trac/&amp;lt;proj_name&amp;gt; initenv&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/trac/&amp;lt;proj_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hotcopy a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/html/trac/&amp;lt;proj_name&amp;gt; hotcopy /path/to/copy/trac/to&lt;br /&gt;
&lt;br /&gt;
= Mailman Maintenance =&lt;br /&gt;
=== create a new mailing list ===&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
=== renaming a list ===&lt;br /&gt;
* create new list&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
* move original lists archive to newlists archive location&lt;br /&gt;
   $ sudo cp /var/lib/mailman/oldlist/oldlist.mbox/oldlist.mbox \&lt;br /&gt;
     /var/lib/mailman/newlist/newlist.mbox/&lt;br /&gt;
* create archive&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/arch --wipe newlist&lt;br /&gt;
* export subscribers from old list regular and digest members&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -r listname &amp;gt; listname-regular.txt&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -d listname &amp;gt; listname-digest.txt&lt;br /&gt;
* import subscribers into new list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --regular-members=listname-regular.txt --welcome-msg=y listname&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --digest-members=listname-digest.txt --welcome-msg=y listname&lt;br /&gt;
* remove old list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/rmlist listname&lt;br /&gt;
* update aliases and check that proper permissions are set&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/genaliases&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/check_perms -f&lt;br /&gt;
* edit postfix aliases - /etc/aliases&lt;br /&gt;
   oldlist:               newlist@lists.osgeo.org&lt;br /&gt;
   oldlist-request:       newlist@lists.osgeo.org&lt;br /&gt;
   oldlist-admin:         newlist@lists.osgeo.org&lt;br /&gt;
   oldlist-owner:         newlist@lists.osgeo.org&lt;br /&gt;
* update postfix with new aliases&lt;br /&gt;
   $ sudo /usr/bin/newaliases&lt;br /&gt;
   $ sudo /sbin/service postfix reload&lt;br /&gt;
&lt;br /&gt;
= Backups = &lt;br /&gt;
&lt;br /&gt;
=== Daily tape backup ===&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
=== Other backups ===&lt;br /&gt;
==== Mysql ====&lt;br /&gt;
MySQL is being backed up using [http://mysqlbackup.zmanda.com MySQL-zrm]&lt;br /&gt;
==== current cron jobs for backups ====&lt;br /&gt;
/etc/cron.d/backup.cron&lt;br /&gt;
&lt;br /&gt;
   #### Backup cron jobs &lt;br /&gt;
   # min hour day month dayofweek user command&lt;br /&gt;
   #&lt;br /&gt;
   # Daily rsync to /home/back&lt;br /&gt;
   # /etc&lt;br /&gt;
   05 10 * * * root /usr/bin/rsync -a --delete /etc/ /home/back/etc/&lt;br /&gt;
   # /var/www/html&lt;br /&gt;
   08 10 * * * root /usr/bin/rsync -a --delete /var/www/html/ /home/back/html/&lt;br /&gt;
   # Every 3 hours &lt;br /&gt;
   # /var/lib/mailman&lt;br /&gt;
   20 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mailman/ /home/back/mailman/&lt;br /&gt;
   # /etc/mysql-zrm&lt;br /&gt;
   33 */3 * * * root /usr/bin/rsync -a --delete /etc/mysql-zrm/ /home/back/etc/mysql-zrm/&lt;br /&gt;
   # /var/lib/mysql-zrm&lt;br /&gt;
   34 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mysql-zrm/ /home/back/mysql-zrm/&lt;br /&gt;
   # call backup_trac_svn.sh to backup &lt;br /&gt;
   # subversion /var/www/svn/repos&lt;br /&gt;
   # trac /var/www/trac&lt;br /&gt;
   45 */3 * * * root /root/scripts/backup_trac_svn.sh&lt;br /&gt;
   # once a day rsync /home/back to osgeo2.osgeo.net&lt;br /&gt;
   0 22 * * * root /root/scripts/rsync_back.pl&lt;br /&gt;
&lt;br /&gt;
backup script are in /root/scripts&lt;br /&gt;
&lt;br /&gt;
'''backup_trac_svn.sh''' calls separate scripts to backup trac and svn repositories and place tgz files of the backups in /home/back/svn_backup and /home/back/trac_backup which are held for 14 days.&lt;br /&gt;
'''rsync_back''' rsyncs www.osgeo.org/home/back with test.osgeo.net/home/back (the second PEER1 server)&lt;br /&gt;
&lt;br /&gt;
= DNS =&lt;br /&gt;
dns is administered via [https://www.pairnic.com/login.html PairNIC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The zone file for the osgeo.org dns was mirrored from CN's zonefile.  There is some work here to get rid of * (wildcard) entry in dns.&lt;br /&gt;
&lt;br /&gt;
'''current dns records'''&lt;br /&gt;
 @ 	             IN A      66.223.95.242  &lt;br /&gt;
 www                 IN A      66.223.95.242  		&lt;br /&gt;
 mapguide 	     IN A      66.223.95.245 		 &lt;br /&gt;
 find.geodata 	     IN A      198.202.74.216 		&lt;br /&gt;
 mapbender2 	     IN A      66.223.95.245	&lt;br /&gt;
 dev.geodata 	     IN A      198.202.74.216&lt;br /&gt;
 wiki 	             IN A      85.214.35.116 	&lt;br /&gt;
 svn 	             IN A      66.223.95.242 	&lt;br /&gt;
 geodata 	     IN A      66.223.95.242 	&lt;br /&gt;
 *.wiki 	     IN A      85.214.35.116 	&lt;br /&gt;
 access.geodata      IN A      198.202.74.216 	&lt;br /&gt;
 buildbot 	     IN A      198.202.74.219 	&lt;br /&gt;
 fdo2 	             IN A      66.223.95.245 		&lt;br /&gt;
 www.communitymapbuilder IN A  63.246.7.187 	&lt;br /&gt;
 * 	             IN A      66.223.95.242 	&lt;br /&gt;
 community 	     IN A      66.223.95.242 	&lt;br /&gt;
 download 	     IN A      198.202.74.219 	&lt;br /&gt;
 testbed 	     IN A      140.211.166.123 	&lt;br /&gt;
 lists 	             IN A      66.223.95.242 	&lt;br /&gt;
 mapguide2 	     IN A      66.223.95.245 	&lt;br /&gt;
 *.community 	     IN A      140.211.166.123 	&lt;br /&gt;
 mapbender 	     IN A      66.223.95.245 	&lt;br /&gt;
 mail 	             IN A      66.223.95.242 	&lt;br /&gt;
 public.geodata      IN A      198.202.74.216 	&lt;br /&gt;
 communitymapbuilder IN A      63.246.7.187 	&lt;br /&gt;
 fdo                 IN A      66.223.95.245&lt;br /&gt;
&lt;br /&gt;
 MX records&lt;br /&gt;
 lists.osgeo.org&lt;br /&gt;
 mail.osgeo.org&lt;br /&gt;
&lt;br /&gt;
 CNAME&lt;br /&gt;
 gdal.osgeo.org     IN CNAME   www.gdal.org&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Migration_Documentation&amp;diff=11213</id>
		<title>Migration Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Migration_Documentation&amp;diff=11213"/>
		<updated>2007-02-01T16:28:30Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
&lt;br /&gt;
All iptables rules must be written in /etc/sysconfig/iptables-custom &lt;br /&gt;
&lt;br /&gt;
Current custom rules are:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/SSH&lt;br /&gt;
   *filter&lt;br /&gt;
   -A OUTPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/VERITAS&lt;br /&gt;
&lt;br /&gt;
''note: this file was placed here by PEER1''&lt;br /&gt;
   *filter&lt;br /&gt;
   -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT&lt;br /&gt;
   -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Apache =&lt;br /&gt;
As the system is Red Hat use /sbin/services httpd start|stop|restart|configtest|reload instead of /usr/sbin/apchectl&lt;br /&gt;
&lt;br /&gt;
the main Config file for apache is,&lt;br /&gt;
/etc/httpd/conf/httpd.conf&lt;br /&gt;
&lt;br /&gt;
additional config files are at&lt;br /&gt;
/etc/httpd/conf.d/&lt;br /&gt;
&lt;br /&gt;
*ssl.conf&lt;br /&gt;
*subversion.conf&lt;br /&gt;
*trac.conf&lt;br /&gt;
*virtual_host.conf&lt;br /&gt;
*rewrite.conf&lt;br /&gt;
*mailman.conf&lt;br /&gt;
*trac.gdal.conf&lt;br /&gt;
*php.conf&lt;br /&gt;
*python.conf&lt;br /&gt;
*perl.conf&lt;br /&gt;
*phpldapadmin.conf - http auth and ssl directives for access to https://www.osgeo.org/ldapadmin&lt;br /&gt;
*working.conf - http auth and ssl directives for access to https://www.osgeo.org/_ldap/ldap.php&lt;br /&gt;
*webalizer.conf - http auth and ssl directives for access to https://www.osgeo.org/usage.php&lt;br /&gt;
&lt;br /&gt;
= Postfix =&lt;br /&gt;
[http://www.postfix.org/documentation.html Postfix documentation]&lt;br /&gt;
&lt;br /&gt;
The postfix daemon can be be stared|stopped|restarted|reloaded with,&lt;br /&gt;
 $ sudo /sbin/service postfix start|stop|restart|reload|abort|flush|check|status|condrestart&lt;br /&gt;
&lt;br /&gt;
The main postfix config file is,&lt;br /&gt;
 /etc/postfix/main.cfg&lt;br /&gt;
&lt;br /&gt;
The aliases file is,&lt;br /&gt;
 /etc/aliases&lt;br /&gt;
&lt;br /&gt;
If aliases file is edited remember to run newaliases&lt;br /&gt;
  $ sudo /usr/bin/newaliases&lt;br /&gt;
  $ sudo /sbin/service postfix reload&lt;br /&gt;
&lt;br /&gt;
= OpenLDAP =&lt;br /&gt;
[http://www.openldap.org/doc/admin23/ OpenLDAP Admin Guide]&lt;br /&gt;
&lt;br /&gt;
The ldap daemon can manipulated with,&lt;br /&gt;
 $ sudo /sbin/service ldap start|stop|restart|&lt;br /&gt;
&lt;br /&gt;
The main ldap config file is,&lt;br /&gt;
 /etc/openldap/slapd.conf&lt;br /&gt;
&lt;br /&gt;
Currently ldap structure is pretty basic.  The purpose for keeping this structure simple is to allow for a more complex structure to be evolved as ldap becomes increasingly integrated into the full osgeo systems structure.&lt;br /&gt;
&lt;br /&gt;
''' Loading an ldif file into an ldap directory '''&lt;br /&gt;
   $ ldapadd -a -W -x -D &amp;quot;cn=Manager,dc=osgeo,dc=org&amp;quot; -f fileName.ldif&lt;br /&gt;
&lt;br /&gt;
''' Accessing the ldap directory through phpldapadmin '''&lt;br /&gt;
&lt;br /&gt;
access an ldapadmin interface at https://www.osgeo.org/ldapadmin&lt;br /&gt;
&lt;br /&gt;
Access to this interface is restricted to the admin group&lt;br /&gt;
&lt;br /&gt;
users can be added to the ou=people,dc=osgeo,dc=org&lt;br /&gt;
once users are added they can then be added to&lt;br /&gt;
cn=project,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
login as cn=Manager,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
*expand dc=osgeo,dc=org tree&lt;br /&gt;
*expand the ou=people tree&lt;br /&gt;
*click on 'create new entry here'&lt;br /&gt;
*choose 'custom' and then 'proceed'&lt;br /&gt;
**RDN is in the form of uid=username&lt;br /&gt;
**ObjectClass is InetOrgPerson&lt;br /&gt;
**click proceed&lt;br /&gt;
***cn is common name in form of firstname lastname&lt;br /&gt;
***sn is surname - lastname&lt;br /&gt;
***no optionals are required&lt;br /&gt;
**click 'create object'&lt;br /&gt;
***on this page click 'add new attribute'&lt;br /&gt;
****choose mail&lt;br /&gt;
*****enter email address&lt;br /&gt;
*****click add&lt;br /&gt;
****on this page click 'add new attribute'&lt;br /&gt;
*****choose userPassord&lt;br /&gt;
*****enter password as an md5&lt;br /&gt;
*****click add&lt;br /&gt;
&lt;br /&gt;
this adds the new user to ou=people&lt;br /&gt;
&lt;br /&gt;
to add users to the cn=project,ou=svn group&lt;br /&gt;
*expand the ou=svn tree&lt;br /&gt;
*click on cn=project&lt;br /&gt;
**under member click 'add value'&lt;br /&gt;
**add user to this in same form as you and howard are listed&lt;br /&gt;
**or can click on the 'folder with magnifying glasss' to select a user&lt;br /&gt;
&lt;br /&gt;
that's it.&lt;br /&gt;
&lt;br /&gt;
=== ldap structure ===&lt;br /&gt;
*dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
**cn=Manager&lt;br /&gt;
&lt;br /&gt;
**ou=people &lt;br /&gt;
&lt;br /&gt;
***Separate entity for each user&lt;br /&gt;
&lt;br /&gt;
*:uid=login,ou=people,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=inetOrgPerson&lt;br /&gt;
*:cn=firstName lastName&lt;br /&gt;
*:sn=lastName&lt;br /&gt;
*:uid=login&lt;br /&gt;
*:mail=email@address&lt;br /&gt;
*:userPassword={md5}YPTyViiMKhiuWKEmFUOKLA==&lt;br /&gt;
&lt;br /&gt;
**ou=projects,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=organizationalUnit&lt;br /&gt;
*:ou=project&lt;br /&gt;
*:description=separate entity for each osgeo project with list of members&lt;br /&gt;
&lt;br /&gt;
***Separate entity for each project group&lt;br /&gt;
*:cn=admin,ou=projects,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=admin&lt;br /&gt;
*:description=osgeo sysadmin group&lt;br /&gt;
&lt;br /&gt;
**ou=svn&lt;br /&gt;
*:objectClass=organizationalUnit&lt;br /&gt;
*:ou=svn&lt;br /&gt;
*:description=separate entity for each repository with list of members with commit rights&lt;br /&gt;
&lt;br /&gt;
***separate entity for each svn group&lt;br /&gt;
*:cn=fdo,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=fdo&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
*:cn=gdal,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=gdal&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
*:cn=mapguide,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=mapguide&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
*:cn=mapbender,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=mapbender&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Example ldif file'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
   version: 1&lt;br /&gt;
&lt;br /&gt;
   dn: dc=osgeo,dc=org&lt;br /&gt;
   objectClass: dcObject&lt;br /&gt;
   objectClass: organization&lt;br /&gt;
   description: OSGeo ldap dit&lt;br /&gt;
   o: OSGeo&lt;br /&gt;
   dc: osgeo&lt;br /&gt;
&lt;br /&gt;
   dn: cn=Manager,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: organizationalRole&lt;br /&gt;
   cn: Manager&lt;br /&gt;
&lt;br /&gt;
   dn: ou=people,dc=osgeo,dc=org&lt;br /&gt;
   ou: people&lt;br /&gt;
   description: all users of osgeo&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: inetOrgPerson&lt;br /&gt;
   uid: jsmith&lt;br /&gt;
   cn: Jon Smith&lt;br /&gt;
   sn: Smith &lt;br /&gt;
   givenName: Jon&lt;br /&gt;
   mail: jsmith@somewhere.com&lt;br /&gt;
   userPassword: {md5}5Or4zfzGqo3jh/6iIUgKcA==&lt;br /&gt;
&lt;br /&gt;
   dn: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: inetOrgPerson&lt;br /&gt;
   uid: jbrown&lt;br /&gt;
   cn: Jane Brown&lt;br /&gt;
   sn: Brown&lt;br /&gt;
   givenName: Jane &lt;br /&gt;
   mail: jbrown@someotherplace.com&lt;br /&gt;
   userPassword: {md5}1iWhTyvkK2m4Uuar+Dp/IA==&lt;br /&gt;
&lt;br /&gt;
   dn: ou=projects,dc=osgeo,dc=org&lt;br /&gt;
   ou: projects&lt;br /&gt;
   description: separate entity for each osgeo project with list of members&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: cn=admin,ou=projects,dc=osgeo,dc=org&lt;br /&gt;
   cn: admin&lt;br /&gt;
   description: osgeo sysadmin group&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   ou: svn&lt;br /&gt;
   description: separate entity for for each repository.list of members with commit rights&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: cn=fdo,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: fdo&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=gdal,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   cn: gdal&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   objectClass: top&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=mapbender,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: mapbender&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=mapguide,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: mapguide&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Subversion =&lt;br /&gt;
[http://svnbook.red-bean.com/nightly/en/index.html Subversion Book]&lt;br /&gt;
=== Creating a repository ===&lt;br /&gt;
   $ sudo mkdir /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo svnadmin /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading a repository from a dumpfile ===&lt;br /&gt;
   $ sudo svnadmin load /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;lt; /path/to/dumpfile&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Dumping a repository ===&lt;br /&gt;
   $ sudo svnadmin dump /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;gt; dumpfile&lt;br /&gt;
&lt;br /&gt;
=== Recovering / unlocking repository ===&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TRAC =&lt;br /&gt;
[http://trac.edgewall.org/wiki/TracGuide Trac Guide]&lt;br /&gt;
=== Creating a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/trac/&amp;lt;proj_name&amp;gt; initenv&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/trac/&amp;lt;proj_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hotcopy a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/html/trac/&amp;lt;proj_name&amp;gt; hotcopy /path/to/copy/trac/to&lt;br /&gt;
&lt;br /&gt;
= Mailman Maintenance =&lt;br /&gt;
=== create a new mailing list ===&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
=== renaming a list ===&lt;br /&gt;
* create new list&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
* move original lists archive to newlists archive location&lt;br /&gt;
   $ sudo cp /var/lib/mailman/oldlist/oldlist.mbox/oldlist.mbox \&lt;br /&gt;
     /var/lib/mailman/newlist/newlist.mbox/&lt;br /&gt;
* create archive&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/arch --wipe newlist&lt;br /&gt;
* export subscribers from old list regular and digest members&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -r listname &amp;gt; listname-regular.txt&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -d listname &amp;gt; listname-digest.txt&lt;br /&gt;
* import subscribers into new list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --regular-members=listname-regular.txt --welcome-msg=y listname&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --digest-members=listname-digest.txt --welcome-msg=y listname&lt;br /&gt;
* remove old list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/rmlist listname&lt;br /&gt;
* update aliases and check that proper permissions are set&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/genaliases&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/check_perms -f&lt;br /&gt;
* edit /etc/aliases&lt;br /&gt;
   oldlist:               newlist@lists.osgeo.org&lt;br /&gt;
   oldlist-request:       newlist@lists.osgeo.org&lt;br /&gt;
   oldlist-admin:         newlist@lists.osgeo.org&lt;br /&gt;
   oldlist-owner:         newlist@lists.osgeo.org&lt;br /&gt;
* update postfix with new aliases&lt;br /&gt;
   $ sudo /usr/bin/newaliases&lt;br /&gt;
   $ sudo /sbin/service postfix reload&lt;br /&gt;
&lt;br /&gt;
= Backups = &lt;br /&gt;
&lt;br /&gt;
=== Daily tape backup ===&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
=== Other backups ===&lt;br /&gt;
==== Mysql ====&lt;br /&gt;
MySQL is being backed up using [http://mysqlbackup.zmanda.com MySQL-zrm]&lt;br /&gt;
==== current cron jobs for backups ====&lt;br /&gt;
/etc/cron.d/backup.cron&lt;br /&gt;
&lt;br /&gt;
   #### Backup cron jobs &lt;br /&gt;
   # min hour day month dayofweek user command&lt;br /&gt;
   #&lt;br /&gt;
   # Daily rsync to /home/back&lt;br /&gt;
   # /etc&lt;br /&gt;
   05 10 * * * root /usr/bin/rsync -a --delete /etc/ /home/back/etc/&lt;br /&gt;
   # /var/www/html&lt;br /&gt;
   08 10 * * * root /usr/bin/rsync -a --delete /var/www/html/ /home/back/html/&lt;br /&gt;
   # Every 3 hours &lt;br /&gt;
   # /var/lib/mailman&lt;br /&gt;
   20 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mailman/ /home/back/mailman/&lt;br /&gt;
   # /etc/mysql-zrm&lt;br /&gt;
   33 */3 * * * root /usr/bin/rsync -a --delete /etc/mysql-zrm/ /home/back/etc/mysql-zrm/&lt;br /&gt;
   # /var/lib/mysql-zrm&lt;br /&gt;
   34 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mysql-zrm/ /home/back/mysql-zrm/&lt;br /&gt;
   # call backup_trac_svn.sh to backup &lt;br /&gt;
   # subversion /var/www/svn/repos&lt;br /&gt;
   # trac /var/www/trac&lt;br /&gt;
   45 */3 * * * root /root/scripts/backup_trac_svn.sh&lt;br /&gt;
   # once a day rsync /home/back to osgeo2.osgeo.net&lt;br /&gt;
   0 22 * * * root /root/scripts/rsync_back.pl&lt;br /&gt;
&lt;br /&gt;
backup script are in /root/scripts&lt;br /&gt;
&lt;br /&gt;
'''backup_trac_svn.sh''' calls separate scripts to backup trac and svn repositories and place tgz files of the backups in /home/back/svn_backup and /home/back/trac_backup which are held for 14 days.&lt;br /&gt;
'''rsync_back''' rsyncs www.osgeo.org/home/back with test.osgeo.net/home/back (the second PEER1 server)&lt;br /&gt;
&lt;br /&gt;
= DNS =&lt;br /&gt;
dns is administered via [https://www.pairnic.com/login.html PairNIC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The zone file for the osgeo.org dns was mirrored from CN's zonefile.  There is some work here to get rid of * (wildcard) entry in dns.&lt;br /&gt;
&lt;br /&gt;
'''current dns records'''&lt;br /&gt;
 @ 	             IN A      66.223.95.242  &lt;br /&gt;
 www                 IN A      66.223.95.242  		&lt;br /&gt;
 mapguide 	     IN A      66.223.95.245 		 &lt;br /&gt;
 find.geodata 	     IN A      198.202.74.216 		&lt;br /&gt;
 mapbender2 	     IN A      66.223.95.245	&lt;br /&gt;
 dev.geodata 	     IN A      198.202.74.216&lt;br /&gt;
 wiki 	             IN A      85.214.35.116 	&lt;br /&gt;
 svn 	             IN A      66.223.95.242 	&lt;br /&gt;
 geodata 	     IN A      66.223.95.242 	&lt;br /&gt;
 *.wiki 	     IN A      85.214.35.116 	&lt;br /&gt;
 access.geodata      IN A      198.202.74.216 	&lt;br /&gt;
 buildbot 	     IN A      198.202.74.219 	&lt;br /&gt;
 fdo2 	             IN A      66.223.95.245 		&lt;br /&gt;
 www.communitymapbuilder IN A  63.246.7.187 	&lt;br /&gt;
 * 	             IN A      66.223.95.242 	&lt;br /&gt;
 community 	     IN A      66.223.95.242 	&lt;br /&gt;
 download 	     IN A      198.202.74.219 	&lt;br /&gt;
 testbed 	     IN A      140.211.166.123 	&lt;br /&gt;
 lists 	             IN A      66.223.95.242 	&lt;br /&gt;
 mapguide2 	     IN A      66.223.95.245 	&lt;br /&gt;
 *.community 	     IN A      140.211.166.123 	&lt;br /&gt;
 mapbender 	     IN A      66.223.95.245 	&lt;br /&gt;
 mail 	             IN A      66.223.95.242 	&lt;br /&gt;
 public.geodata      IN A      198.202.74.216 	&lt;br /&gt;
 communitymapbuilder IN A      63.246.7.187 	&lt;br /&gt;
 fdo                 IN A      66.223.95.245&lt;br /&gt;
&lt;br /&gt;
 MX records&lt;br /&gt;
 lists.osgeo.org&lt;br /&gt;
 mail.osgeo.org&lt;br /&gt;
&lt;br /&gt;
 CNAME&lt;br /&gt;
 gdal.osgeo.org     IN CNAME   www.gdal.org&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Migration_Documentation&amp;diff=11212</id>
		<title>Migration Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Migration_Documentation&amp;diff=11212"/>
		<updated>2007-02-01T16:16:23Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* DNS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
&lt;br /&gt;
All iptables rules must be written in /etc/sysconfig/iptables-custom &lt;br /&gt;
&lt;br /&gt;
Current custom rules are:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/SSH&lt;br /&gt;
   *filter&lt;br /&gt;
   -A OUTPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/VERITAS&lt;br /&gt;
&lt;br /&gt;
''note: this file was placed here by PEER1''&lt;br /&gt;
   *filter&lt;br /&gt;
   -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT&lt;br /&gt;
   -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Apache =&lt;br /&gt;
As the system is Red Hat use /sbin/services httpd start|stop|restart|configtest|reload instead of /usr/sbin/apchectl&lt;br /&gt;
&lt;br /&gt;
the main Config file for apache is,&lt;br /&gt;
/etc/httpd/conf/httpd.conf&lt;br /&gt;
&lt;br /&gt;
additional config files are at&lt;br /&gt;
/etc/httpd/conf.d/&lt;br /&gt;
&lt;br /&gt;
*ssl.conf&lt;br /&gt;
*subversion.conf&lt;br /&gt;
*trac.conf&lt;br /&gt;
*virtual_host.conf&lt;br /&gt;
*rewrite.conf&lt;br /&gt;
*mailman.conf&lt;br /&gt;
*trac.gdal.conf&lt;br /&gt;
*php.conf&lt;br /&gt;
*python.conf&lt;br /&gt;
*perl.conf&lt;br /&gt;
*phpldapadmin.conf - http auth and ssl directives for access to https://www.osgeo.org/ldapadmin&lt;br /&gt;
*working.conf - http auth and ssl directives for access to https://www.osgeo.org/_ldap/ldap.php&lt;br /&gt;
*webalizer.conf - http auth and ssl directives for access to https://www.osgeo.org/usage.php&lt;br /&gt;
 &lt;br /&gt;
= OpenLDAP =&lt;br /&gt;
[http://www.openldap.org/doc/admin23/ OpenLDAP Admin Guide]&lt;br /&gt;
&lt;br /&gt;
The ldap daemon can be be stared|stopped|restarted with,&lt;br /&gt;
 $ sudo /sbin/service ldap start|stop|restart&lt;br /&gt;
&lt;br /&gt;
The main ldap config file is,&lt;br /&gt;
 /etc/openldap/slapd.conf&lt;br /&gt;
&lt;br /&gt;
Currently ldap structure is pretty basic.  The purpose for keeping this structure simple is to allow for a more complex structure to be evolved as ldap becomes increasingly integrated into the full osgeo systems structure.&lt;br /&gt;
&lt;br /&gt;
''' Loading an ldif file into an ldap directory '''&lt;br /&gt;
   $ ldapadd -a -W -x -D &amp;quot;cn=Manager,dc=osgeo,dc=org&amp;quot; -f fileName.ldif&lt;br /&gt;
&lt;br /&gt;
''' Accessing the ldap directory through phpldapadmin '''&lt;br /&gt;
&lt;br /&gt;
access an ldapadmin interface at https://www.osgeo.org/ldapadmin&lt;br /&gt;
&lt;br /&gt;
Access to this interface is restricted to the admin group&lt;br /&gt;
&lt;br /&gt;
users can be added to the ou=people,dc=osgeo,dc=org&lt;br /&gt;
once users are added they can then be added to&lt;br /&gt;
cn=project,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
login as cn=Manager,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
*expand dc=osgeo,dc=org tree&lt;br /&gt;
*expand the ou=people tree&lt;br /&gt;
*click on 'create new entry here'&lt;br /&gt;
*choose 'custom' and then 'proceed'&lt;br /&gt;
**RDN is in the form of uid=username&lt;br /&gt;
**ObjectClass is InetOrgPerson&lt;br /&gt;
**click proceed&lt;br /&gt;
***cn is common name in form of firstname lastname&lt;br /&gt;
***sn is surname - lastname&lt;br /&gt;
***no optionals are required&lt;br /&gt;
**click 'create object'&lt;br /&gt;
***on this page click 'add new attribute'&lt;br /&gt;
****choose mail&lt;br /&gt;
*****enter email address&lt;br /&gt;
*****click add&lt;br /&gt;
****on this page click 'add new attribute'&lt;br /&gt;
*****choose userPassord&lt;br /&gt;
*****enter password as an md5&lt;br /&gt;
*****click add&lt;br /&gt;
&lt;br /&gt;
this adds the new user to ou=people&lt;br /&gt;
&lt;br /&gt;
to add users to the cn=project,ou=svn group&lt;br /&gt;
*expand the ou=svn tree&lt;br /&gt;
*click on cn=project&lt;br /&gt;
**under member click 'add value'&lt;br /&gt;
**add user to this in same form as you and howard are listed&lt;br /&gt;
**or can click on the 'folder with magnifying glasss' to select a user&lt;br /&gt;
&lt;br /&gt;
that's it.&lt;br /&gt;
&lt;br /&gt;
=== ldap structure ===&lt;br /&gt;
*dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
**cn=Manager&lt;br /&gt;
&lt;br /&gt;
**ou=people &lt;br /&gt;
&lt;br /&gt;
***Separate entity for each user&lt;br /&gt;
&lt;br /&gt;
*:uid=login,ou=people,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=inetOrgPerson&lt;br /&gt;
*:cn=firstName lastName&lt;br /&gt;
*:sn=lastName&lt;br /&gt;
*:uid=login&lt;br /&gt;
*:mail=email@address&lt;br /&gt;
*:userPassword={md5}YPTyViiMKhiuWKEmFUOKLA==&lt;br /&gt;
&lt;br /&gt;
**ou=projects,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=organizationalUnit&lt;br /&gt;
*:ou=project&lt;br /&gt;
*:description=separate entity for each osgeo project with list of members&lt;br /&gt;
&lt;br /&gt;
***Separate entity for each project group&lt;br /&gt;
*:cn=admin,ou=projects,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=admin&lt;br /&gt;
*:description=osgeo sysadmin group&lt;br /&gt;
&lt;br /&gt;
**ou=svn&lt;br /&gt;
*:objectClass=organizationalUnit&lt;br /&gt;
*:ou=svn&lt;br /&gt;
*:description=separate entity for each repository with list of members with commit rights&lt;br /&gt;
&lt;br /&gt;
***separate entity for each svn group&lt;br /&gt;
*:cn=fdo,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=fdo&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
*:cn=gdal,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=gdal&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
*:cn=mapguide,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=mapguide&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
*:cn=mapbender,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=mapbender&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Example ldif file'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
   version: 1&lt;br /&gt;
&lt;br /&gt;
   dn: dc=osgeo,dc=org&lt;br /&gt;
   objectClass: dcObject&lt;br /&gt;
   objectClass: organization&lt;br /&gt;
   description: OSGeo ldap dit&lt;br /&gt;
   o: OSGeo&lt;br /&gt;
   dc: osgeo&lt;br /&gt;
&lt;br /&gt;
   dn: cn=Manager,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: organizationalRole&lt;br /&gt;
   cn: Manager&lt;br /&gt;
&lt;br /&gt;
   dn: ou=people,dc=osgeo,dc=org&lt;br /&gt;
   ou: people&lt;br /&gt;
   description: all users of osgeo&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: inetOrgPerson&lt;br /&gt;
   uid: jsmith&lt;br /&gt;
   cn: Jon Smith&lt;br /&gt;
   sn: Smith &lt;br /&gt;
   givenName: Jon&lt;br /&gt;
   mail: jsmith@somewhere.com&lt;br /&gt;
   userPassword: {md5}5Or4zfzGqo3jh/6iIUgKcA==&lt;br /&gt;
&lt;br /&gt;
   dn: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: inetOrgPerson&lt;br /&gt;
   uid: jbrown&lt;br /&gt;
   cn: Jane Brown&lt;br /&gt;
   sn: Brown&lt;br /&gt;
   givenName: Jane &lt;br /&gt;
   mail: jbrown@someotherplace.com&lt;br /&gt;
   userPassword: {md5}1iWhTyvkK2m4Uuar+Dp/IA==&lt;br /&gt;
&lt;br /&gt;
   dn: ou=projects,dc=osgeo,dc=org&lt;br /&gt;
   ou: projects&lt;br /&gt;
   description: separate entity for each osgeo project with list of members&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: cn=admin,ou=projects,dc=osgeo,dc=org&lt;br /&gt;
   cn: admin&lt;br /&gt;
   description: osgeo sysadmin group&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   ou: svn&lt;br /&gt;
   description: separate entity for for each repository.list of members with commit rights&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: cn=fdo,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: fdo&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=gdal,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   cn: gdal&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   objectClass: top&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=mapbender,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: mapbender&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=mapguide,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: mapguide&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Subversion =&lt;br /&gt;
[http://svnbook.red-bean.com/nightly/en/index.html Subversion Book]&lt;br /&gt;
=== Creating a repository ===&lt;br /&gt;
   $ sudo mkdir /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo svnadmin /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading a repository from a dumpfile ===&lt;br /&gt;
   $ sudo svnadmin load /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;lt; /path/to/dumpfile&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Dumping a repository ===&lt;br /&gt;
   $ sudo svnadmin dump /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;gt; dumpfile&lt;br /&gt;
&lt;br /&gt;
=== Recovering / unlocking repository ===&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TRAC =&lt;br /&gt;
[http://trac.edgewall.org/wiki/TracGuide Trac Guide]&lt;br /&gt;
=== Creating a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/trac/&amp;lt;proj_name&amp;gt; initenv&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/trac/&amp;lt;proj_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hotcopy a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/html/trac/&amp;lt;proj_name&amp;gt; hotcopy /path/to/copy/trac/to&lt;br /&gt;
&lt;br /&gt;
= Mailman Maintenance =&lt;br /&gt;
=== create a new mailing list ===&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
=== renaming a list ===&lt;br /&gt;
* create new list&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
* move original lists archive to newlists archive location&lt;br /&gt;
   $ sudo cp /var/lib/mailman/oldlist/oldlist.mbox/oldlist.mbox \&lt;br /&gt;
     /var/lib/mailman/newlist/newlist.mbox/&lt;br /&gt;
* create archive&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/arch --wipe newlist&lt;br /&gt;
* export subscribers from old list regular and digest members&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -r listname &amp;gt; listname-regular.txt&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -d listname &amp;gt; listname-digest.txt&lt;br /&gt;
* import subscribers into new list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --regular-members=listname-regular.txt --welcome-msg=y listname&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --digest-members=listname-digest.txt --welcome-msg=y listname&lt;br /&gt;
* remove old list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/rmlist listname&lt;br /&gt;
* update aliases and check that proper permissions are set&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/genaliases&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/check_perms -f&lt;br /&gt;
&lt;br /&gt;
= Backups = &lt;br /&gt;
&lt;br /&gt;
=== Daily tape backup ===&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
=== Other backups ===&lt;br /&gt;
==== Mysql ====&lt;br /&gt;
MySQL is being backed up using [http://mysqlbackup.zmanda.com MySQL-zrm]&lt;br /&gt;
==== current cron jobs for backups ====&lt;br /&gt;
/etc/cron.d/backup.cron&lt;br /&gt;
&lt;br /&gt;
   #### Backup cron jobs &lt;br /&gt;
   # min hour day month dayofweek user command&lt;br /&gt;
   #&lt;br /&gt;
   # Daily rsync to /home/back&lt;br /&gt;
   # /etc&lt;br /&gt;
   05 10 * * * root /usr/bin/rsync -a --delete /etc/ /home/back/etc/&lt;br /&gt;
   # /var/www/html&lt;br /&gt;
   08 10 * * * root /usr/bin/rsync -a --delete /var/www/html/ /home/back/html/&lt;br /&gt;
   # Every 3 hours &lt;br /&gt;
   # /var/lib/mailman&lt;br /&gt;
   20 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mailman/ /home/back/mailman/&lt;br /&gt;
   # /etc/mysql-zrm&lt;br /&gt;
   33 */3 * * * root /usr/bin/rsync -a --delete /etc/mysql-zrm/ /home/back/etc/mysql-zrm/&lt;br /&gt;
   # /var/lib/mysql-zrm&lt;br /&gt;
   34 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mysql-zrm/ /home/back/mysql-zrm/&lt;br /&gt;
   # call backup_trac_svn.sh to backup &lt;br /&gt;
   # subversion /var/www/svn/repos&lt;br /&gt;
   # trac /var/www/trac&lt;br /&gt;
   45 */3 * * * root /root/scripts/backup_trac_svn.sh&lt;br /&gt;
   # once a day rsync /home/back to osgeo2.osgeo.net&lt;br /&gt;
   0 22 * * * root /root/scripts/rsync_back.pl&lt;br /&gt;
&lt;br /&gt;
backup script are in /root/scripts&lt;br /&gt;
&lt;br /&gt;
'''backup_trac_svn.sh''' calls separate scripts to backup trac and svn repositories and place tgz files of the backups in /home/back/svn_backup and /home/back/trac_backup which are held for 14 days.&lt;br /&gt;
'''rsync_back''' rsyncs www.osgeo.org/home/back with test.osgeo.net/home/back (the second PEER1 server)&lt;br /&gt;
&lt;br /&gt;
= DNS =&lt;br /&gt;
dns is administered via [https://www.pairnic.com/login.html PairNIC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The zone file for the osgeo.org dns was mirrored from CN's zonefile.  There is some work here to get rid of * (wildcard) entry in dns.&lt;br /&gt;
&lt;br /&gt;
'''current dns records'''&lt;br /&gt;
 @ 	             IN A      66.223.95.242  &lt;br /&gt;
 www                 IN A      66.223.95.242  		&lt;br /&gt;
 mapguide 	     IN A      66.223.95.245 		 &lt;br /&gt;
 find.geodata 	     IN A      198.202.74.216 		&lt;br /&gt;
 mapbender2 	     IN A      66.223.95.245	&lt;br /&gt;
 dev.geodata 	     IN A      198.202.74.216&lt;br /&gt;
 wiki 	             IN A      85.214.35.116 	&lt;br /&gt;
 svn 	             IN A      66.223.95.242 	&lt;br /&gt;
 geodata 	     IN A      66.223.95.242 	&lt;br /&gt;
 *.wiki 	     IN A      85.214.35.116 	&lt;br /&gt;
 access.geodata      IN A      198.202.74.216 	&lt;br /&gt;
 buildbot 	     IN A      198.202.74.219 	&lt;br /&gt;
 fdo2 	             IN A      66.223.95.245 		&lt;br /&gt;
 www.communitymapbuilder IN A  63.246.7.187 	&lt;br /&gt;
 * 	             IN A      66.223.95.242 	&lt;br /&gt;
 community 	     IN A      66.223.95.242 	&lt;br /&gt;
 download 	     IN A      198.202.74.219 	&lt;br /&gt;
 testbed 	     IN A      140.211.166.123 	&lt;br /&gt;
 lists 	             IN A      66.223.95.242 	&lt;br /&gt;
 mapguide2 	     IN A      66.223.95.245 	&lt;br /&gt;
 *.community 	     IN A      140.211.166.123 	&lt;br /&gt;
 mapbender 	     IN A      66.223.95.245 	&lt;br /&gt;
 mail 	             IN A      66.223.95.242 	&lt;br /&gt;
 public.geodata      IN A      198.202.74.216 	&lt;br /&gt;
 communitymapbuilder IN A      63.246.7.187 	&lt;br /&gt;
 fdo                 IN A      66.223.95.245&lt;br /&gt;
&lt;br /&gt;
 MX records&lt;br /&gt;
 lists.osgeo.org&lt;br /&gt;
 mail.osgeo.org&lt;br /&gt;
&lt;br /&gt;
 CNAME&lt;br /&gt;
 gdal.osgeo.org     IN CNAME   www.gdal.org&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Migration_Documentation&amp;diff=11211</id>
		<title>Migration Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Migration_Documentation&amp;diff=11211"/>
		<updated>2007-02-01T16:13:29Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* DNS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
&lt;br /&gt;
All iptables rules must be written in /etc/sysconfig/iptables-custom &lt;br /&gt;
&lt;br /&gt;
Current custom rules are:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/SSH&lt;br /&gt;
   *filter&lt;br /&gt;
   -A OUTPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/VERITAS&lt;br /&gt;
&lt;br /&gt;
''note: this file was placed here by PEER1''&lt;br /&gt;
   *filter&lt;br /&gt;
   -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT&lt;br /&gt;
   -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Apache =&lt;br /&gt;
As the system is Red Hat use /sbin/services httpd start|stop|restart|configtest|reload instead of /usr/sbin/apchectl&lt;br /&gt;
&lt;br /&gt;
the main Config file for apache is,&lt;br /&gt;
/etc/httpd/conf/httpd.conf&lt;br /&gt;
&lt;br /&gt;
additional config files are at&lt;br /&gt;
/etc/httpd/conf.d/&lt;br /&gt;
&lt;br /&gt;
*ssl.conf&lt;br /&gt;
*subversion.conf&lt;br /&gt;
*trac.conf&lt;br /&gt;
*virtual_host.conf&lt;br /&gt;
*rewrite.conf&lt;br /&gt;
*mailman.conf&lt;br /&gt;
*trac.gdal.conf&lt;br /&gt;
*php.conf&lt;br /&gt;
*python.conf&lt;br /&gt;
*perl.conf&lt;br /&gt;
*phpldapadmin.conf - http auth and ssl directives for access to https://www.osgeo.org/ldapadmin&lt;br /&gt;
*working.conf - http auth and ssl directives for access to https://www.osgeo.org/_ldap/ldap.php&lt;br /&gt;
*webalizer.conf - http auth and ssl directives for access to https://www.osgeo.org/usage.php&lt;br /&gt;
 &lt;br /&gt;
= OpenLDAP =&lt;br /&gt;
[http://www.openldap.org/doc/admin23/ OpenLDAP Admin Guide]&lt;br /&gt;
&lt;br /&gt;
The ldap daemon can be be stared|stopped|restarted with,&lt;br /&gt;
 $ sudo /sbin/service ldap start|stop|restart&lt;br /&gt;
&lt;br /&gt;
The main ldap config file is,&lt;br /&gt;
 /etc/openldap/slapd.conf&lt;br /&gt;
&lt;br /&gt;
Currently ldap structure is pretty basic.  The purpose for keeping this structure simple is to allow for a more complex structure to be evolved as ldap becomes increasingly integrated into the full osgeo systems structure.&lt;br /&gt;
&lt;br /&gt;
''' Loading an ldif file into an ldap directory '''&lt;br /&gt;
   $ ldapadd -a -W -x -D &amp;quot;cn=Manager,dc=osgeo,dc=org&amp;quot; -f fileName.ldif&lt;br /&gt;
&lt;br /&gt;
''' Accessing the ldap directory through phpldapadmin '''&lt;br /&gt;
&lt;br /&gt;
access an ldapadmin interface at https://www.osgeo.org/ldapadmin&lt;br /&gt;
&lt;br /&gt;
Access to this interface is restricted to the admin group&lt;br /&gt;
&lt;br /&gt;
users can be added to the ou=people,dc=osgeo,dc=org&lt;br /&gt;
once users are added they can then be added to&lt;br /&gt;
cn=project,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
login as cn=Manager,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
*expand dc=osgeo,dc=org tree&lt;br /&gt;
*expand the ou=people tree&lt;br /&gt;
*click on 'create new entry here'&lt;br /&gt;
*choose 'custom' and then 'proceed'&lt;br /&gt;
**RDN is in the form of uid=username&lt;br /&gt;
**ObjectClass is InetOrgPerson&lt;br /&gt;
**click proceed&lt;br /&gt;
***cn is common name in form of firstname lastname&lt;br /&gt;
***sn is surname - lastname&lt;br /&gt;
***no optionals are required&lt;br /&gt;
**click 'create object'&lt;br /&gt;
***on this page click 'add new attribute'&lt;br /&gt;
****choose mail&lt;br /&gt;
*****enter email address&lt;br /&gt;
*****click add&lt;br /&gt;
****on this page click 'add new attribute'&lt;br /&gt;
*****choose userPassord&lt;br /&gt;
*****enter password as an md5&lt;br /&gt;
*****click add&lt;br /&gt;
&lt;br /&gt;
this adds the new user to ou=people&lt;br /&gt;
&lt;br /&gt;
to add users to the cn=project,ou=svn group&lt;br /&gt;
*expand the ou=svn tree&lt;br /&gt;
*click on cn=project&lt;br /&gt;
**under member click 'add value'&lt;br /&gt;
**add user to this in same form as you and howard are listed&lt;br /&gt;
**or can click on the 'folder with magnifying glasss' to select a user&lt;br /&gt;
&lt;br /&gt;
that's it.&lt;br /&gt;
&lt;br /&gt;
=== ldap structure ===&lt;br /&gt;
*dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
**cn=Manager&lt;br /&gt;
&lt;br /&gt;
**ou=people &lt;br /&gt;
&lt;br /&gt;
***Separate entity for each user&lt;br /&gt;
&lt;br /&gt;
*:uid=login,ou=people,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=inetOrgPerson&lt;br /&gt;
*:cn=firstName lastName&lt;br /&gt;
*:sn=lastName&lt;br /&gt;
*:uid=login&lt;br /&gt;
*:mail=email@address&lt;br /&gt;
*:userPassword={md5}YPTyViiMKhiuWKEmFUOKLA==&lt;br /&gt;
&lt;br /&gt;
**ou=projects,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=organizationalUnit&lt;br /&gt;
*:ou=project&lt;br /&gt;
*:description=separate entity for each osgeo project with list of members&lt;br /&gt;
&lt;br /&gt;
***Separate entity for each project group&lt;br /&gt;
*:cn=admin,ou=projects,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=admin&lt;br /&gt;
*:description=osgeo sysadmin group&lt;br /&gt;
&lt;br /&gt;
**ou=svn&lt;br /&gt;
*:objectClass=organizationalUnit&lt;br /&gt;
*:ou=svn&lt;br /&gt;
*:description=separate entity for each repository with list of members with commit rights&lt;br /&gt;
&lt;br /&gt;
***separate entity for each svn group&lt;br /&gt;
*:cn=fdo,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=fdo&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
*:cn=gdal,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=gdal&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
*:cn=mapguide,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=mapguide&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
*:cn=mapbender,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=mapbender&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Example ldif file'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
   version: 1&lt;br /&gt;
&lt;br /&gt;
   dn: dc=osgeo,dc=org&lt;br /&gt;
   objectClass: dcObject&lt;br /&gt;
   objectClass: organization&lt;br /&gt;
   description: OSGeo ldap dit&lt;br /&gt;
   o: OSGeo&lt;br /&gt;
   dc: osgeo&lt;br /&gt;
&lt;br /&gt;
   dn: cn=Manager,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: organizationalRole&lt;br /&gt;
   cn: Manager&lt;br /&gt;
&lt;br /&gt;
   dn: ou=people,dc=osgeo,dc=org&lt;br /&gt;
   ou: people&lt;br /&gt;
   description: all users of osgeo&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: inetOrgPerson&lt;br /&gt;
   uid: jsmith&lt;br /&gt;
   cn: Jon Smith&lt;br /&gt;
   sn: Smith &lt;br /&gt;
   givenName: Jon&lt;br /&gt;
   mail: jsmith@somewhere.com&lt;br /&gt;
   userPassword: {md5}5Or4zfzGqo3jh/6iIUgKcA==&lt;br /&gt;
&lt;br /&gt;
   dn: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: inetOrgPerson&lt;br /&gt;
   uid: jbrown&lt;br /&gt;
   cn: Jane Brown&lt;br /&gt;
   sn: Brown&lt;br /&gt;
   givenName: Jane &lt;br /&gt;
   mail: jbrown@someotherplace.com&lt;br /&gt;
   userPassword: {md5}1iWhTyvkK2m4Uuar+Dp/IA==&lt;br /&gt;
&lt;br /&gt;
   dn: ou=projects,dc=osgeo,dc=org&lt;br /&gt;
   ou: projects&lt;br /&gt;
   description: separate entity for each osgeo project with list of members&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: cn=admin,ou=projects,dc=osgeo,dc=org&lt;br /&gt;
   cn: admin&lt;br /&gt;
   description: osgeo sysadmin group&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   ou: svn&lt;br /&gt;
   description: separate entity for for each repository.list of members with commit rights&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: cn=fdo,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: fdo&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=gdal,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   cn: gdal&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   objectClass: top&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=mapbender,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: mapbender&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=mapguide,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: mapguide&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Subversion =&lt;br /&gt;
[http://svnbook.red-bean.com/nightly/en/index.html Subversion Book]&lt;br /&gt;
=== Creating a repository ===&lt;br /&gt;
   $ sudo mkdir /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo svnadmin /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading a repository from a dumpfile ===&lt;br /&gt;
   $ sudo svnadmin load /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;lt; /path/to/dumpfile&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Dumping a repository ===&lt;br /&gt;
   $ sudo svnadmin dump /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;gt; dumpfile&lt;br /&gt;
&lt;br /&gt;
=== Recovering / unlocking repository ===&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TRAC =&lt;br /&gt;
[http://trac.edgewall.org/wiki/TracGuide Trac Guide]&lt;br /&gt;
=== Creating a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/trac/&amp;lt;proj_name&amp;gt; initenv&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/trac/&amp;lt;proj_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hotcopy a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/html/trac/&amp;lt;proj_name&amp;gt; hotcopy /path/to/copy/trac/to&lt;br /&gt;
&lt;br /&gt;
= Mailman Maintenance =&lt;br /&gt;
=== create a new mailing list ===&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
=== renaming a list ===&lt;br /&gt;
* create new list&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
* move original lists archive to newlists archive location&lt;br /&gt;
   $ sudo cp /var/lib/mailman/oldlist/oldlist.mbox/oldlist.mbox \&lt;br /&gt;
     /var/lib/mailman/newlist/newlist.mbox/&lt;br /&gt;
* create archive&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/arch --wipe newlist&lt;br /&gt;
* export subscribers from old list regular and digest members&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -r listname &amp;gt; listname-regular.txt&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -d listname &amp;gt; listname-digest.txt&lt;br /&gt;
* import subscribers into new list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --regular-members=listname-regular.txt --welcome-msg=y listname&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --digest-members=listname-digest.txt --welcome-msg=y listname&lt;br /&gt;
* remove old list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/rmlist listname&lt;br /&gt;
* update aliases and check that proper permissions are set&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/genaliases&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/check_perms -f&lt;br /&gt;
&lt;br /&gt;
= Backups = &lt;br /&gt;
&lt;br /&gt;
=== Daily tape backup ===&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
=== Other backups ===&lt;br /&gt;
==== Mysql ====&lt;br /&gt;
MySQL is being backed up using [http://mysqlbackup.zmanda.com MySQL-zrm]&lt;br /&gt;
==== current cron jobs for backups ====&lt;br /&gt;
/etc/cron.d/backup.cron&lt;br /&gt;
&lt;br /&gt;
   #### Backup cron jobs &lt;br /&gt;
   # min hour day month dayofweek user command&lt;br /&gt;
   #&lt;br /&gt;
   # Daily rsync to /home/back&lt;br /&gt;
   # /etc&lt;br /&gt;
   05 10 * * * root /usr/bin/rsync -a --delete /etc/ /home/back/etc/&lt;br /&gt;
   # /var/www/html&lt;br /&gt;
   08 10 * * * root /usr/bin/rsync -a --delete /var/www/html/ /home/back/html/&lt;br /&gt;
   # Every 3 hours &lt;br /&gt;
   # /var/lib/mailman&lt;br /&gt;
   20 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mailman/ /home/back/mailman/&lt;br /&gt;
   # /etc/mysql-zrm&lt;br /&gt;
   33 */3 * * * root /usr/bin/rsync -a --delete /etc/mysql-zrm/ /home/back/etc/mysql-zrm/&lt;br /&gt;
   # /var/lib/mysql-zrm&lt;br /&gt;
   34 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mysql-zrm/ /home/back/mysql-zrm/&lt;br /&gt;
   # call backup_trac_svn.sh to backup &lt;br /&gt;
   # subversion /var/www/svn/repos&lt;br /&gt;
   # trac /var/www/trac&lt;br /&gt;
   45 */3 * * * root /root/scripts/backup_trac_svn.sh&lt;br /&gt;
   # once a day rsync /home/back to osgeo2.osgeo.net&lt;br /&gt;
   0 22 * * * root /root/scripts/rsync_back.pl&lt;br /&gt;
&lt;br /&gt;
backup script are in /root/scripts&lt;br /&gt;
&lt;br /&gt;
'''backup_trac_svn.sh''' calls separate scripts to backup trac and svn repositories and place tgz files of the backups in /home/back/svn_backup and /home/back/trac_backup which are held for 14 days.&lt;br /&gt;
'''rsync_back''' rsyncs www.osgeo.org/home/back with test.osgeo.net/home/back (the second PEER1 server)&lt;br /&gt;
&lt;br /&gt;
= DNS =&lt;br /&gt;
dns is administered via [https://www.pairnic.com/login.html PairNIC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The zone file for the osgeo.org dns was mirrored from CN's zonefile.  There is some work here to get rid of * (wildcard) entry in dns.&lt;br /&gt;
 @ 	             IN A      66.223.95.242  &lt;br /&gt;
 www                 IN A      66.223.95.242  		&lt;br /&gt;
 mapguide 	     IN A      66.223.95.245 		 &lt;br /&gt;
 find.geodata 	     IN A      198.202.74.216 		&lt;br /&gt;
 mapbender2 	     IN A      66.223.95.245	&lt;br /&gt;
 dev.geodata 	     IN A      198.202.74.216&lt;br /&gt;
 wiki 	             IN A      85.214.35.116 	&lt;br /&gt;
 svn 	             IN A      66.223.95.242 	&lt;br /&gt;
 geodata 	     IN A      66.223.95.242 	&lt;br /&gt;
 *.wiki 	     IN A      85.214.35.116 	&lt;br /&gt;
 access.geodata      IN A      198.202.74.216 	&lt;br /&gt;
 buildbot 	     IN A      198.202.74.219 	&lt;br /&gt;
 fdo2 	             IN A      66.223.95.245 		&lt;br /&gt;
 www.communitymapbuilder IN A  63.246.7.187 	&lt;br /&gt;
 * 	             IN A      66.223.95.242 	&lt;br /&gt;
 community 	     IN A      66.223.95.242 	&lt;br /&gt;
 download 	     IN A      198.202.74.219 	&lt;br /&gt;
 testbed 	     IN A      140.211.166.123 	&lt;br /&gt;
 lists 	             IN A      66.223.95.242 	&lt;br /&gt;
 mapguide2 	     IN A      66.223.95.245 	&lt;br /&gt;
 *.community 	     IN A      140.211.166.123 	&lt;br /&gt;
 mapbender 	     IN A      66.223.95.245 	&lt;br /&gt;
 mail 	             IN A      66.223.95.242 	&lt;br /&gt;
 public.geodata      IN A      198.202.74.216 	&lt;br /&gt;
 communitymapbuilder IN A      63.246.7.187 	&lt;br /&gt;
 fdo                 IN A      66.223.95.245&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Migration_Documentation&amp;diff=11210</id>
		<title>Migration Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Migration_Documentation&amp;diff=11210"/>
		<updated>2007-02-01T15:59:16Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* OpenLDAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
&lt;br /&gt;
All iptables rules must be written in /etc/sysconfig/iptables-custom &lt;br /&gt;
&lt;br /&gt;
Current custom rules are:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/SSH&lt;br /&gt;
   *filter&lt;br /&gt;
   -A OUTPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/VERITAS&lt;br /&gt;
&lt;br /&gt;
''note: this file was placed here by PEER1''&lt;br /&gt;
   *filter&lt;br /&gt;
   -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT&lt;br /&gt;
   -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Apache =&lt;br /&gt;
As the system is Red Hat use /sbin/services httpd start|stop|restart|configtest|reload instead of /usr/sbin/apchectl&lt;br /&gt;
&lt;br /&gt;
the main Config file for apache is,&lt;br /&gt;
/etc/httpd/conf/httpd.conf&lt;br /&gt;
&lt;br /&gt;
additional config files are at&lt;br /&gt;
/etc/httpd/conf.d/&lt;br /&gt;
&lt;br /&gt;
*ssl.conf&lt;br /&gt;
*subversion.conf&lt;br /&gt;
*trac.conf&lt;br /&gt;
*virtual_host.conf&lt;br /&gt;
*rewrite.conf&lt;br /&gt;
*mailman.conf&lt;br /&gt;
*trac.gdal.conf&lt;br /&gt;
*php.conf&lt;br /&gt;
*python.conf&lt;br /&gt;
*perl.conf&lt;br /&gt;
*phpldapadmin.conf - http auth and ssl directives for access to https://www.osgeo.org/ldapadmin&lt;br /&gt;
*working.conf - http auth and ssl directives for access to https://www.osgeo.org/_ldap/ldap.php&lt;br /&gt;
*webalizer.conf - http auth and ssl directives for access to https://www.osgeo.org/usage.php&lt;br /&gt;
 &lt;br /&gt;
= OpenLDAP =&lt;br /&gt;
[http://www.openldap.org/doc/admin23/ OpenLDAP Admin Guide]&lt;br /&gt;
&lt;br /&gt;
The ldap daemon can be be stared|stopped|restarted with,&lt;br /&gt;
 $ sudo /sbin/service ldap start|stop|restart&lt;br /&gt;
&lt;br /&gt;
The main ldap config file is,&lt;br /&gt;
 /etc/openldap/slapd.conf&lt;br /&gt;
&lt;br /&gt;
Currently ldap structure is pretty basic.  The purpose for keeping this structure simple is to allow for a more complex structure to be evolved as ldap becomes increasingly integrated into the full osgeo systems structure.&lt;br /&gt;
&lt;br /&gt;
''' Loading an ldif file into an ldap directory '''&lt;br /&gt;
   $ ldapadd -a -W -x -D &amp;quot;cn=Manager,dc=osgeo,dc=org&amp;quot; -f fileName.ldif&lt;br /&gt;
&lt;br /&gt;
''' Accessing the ldap directory through phpldapadmin '''&lt;br /&gt;
&lt;br /&gt;
access an ldapadmin interface at https://www.osgeo.org/ldapadmin&lt;br /&gt;
&lt;br /&gt;
Access to this interface is restricted to the admin group&lt;br /&gt;
&lt;br /&gt;
users can be added to the ou=people,dc=osgeo,dc=org&lt;br /&gt;
once users are added they can then be added to&lt;br /&gt;
cn=project,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
login as cn=Manager,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
*expand dc=osgeo,dc=org tree&lt;br /&gt;
*expand the ou=people tree&lt;br /&gt;
*click on 'create new entry here'&lt;br /&gt;
*choose 'custom' and then 'proceed'&lt;br /&gt;
**RDN is in the form of uid=username&lt;br /&gt;
**ObjectClass is InetOrgPerson&lt;br /&gt;
**click proceed&lt;br /&gt;
***cn is common name in form of firstname lastname&lt;br /&gt;
***sn is surname - lastname&lt;br /&gt;
***no optionals are required&lt;br /&gt;
**click 'create object'&lt;br /&gt;
***on this page click 'add new attribute'&lt;br /&gt;
****choose mail&lt;br /&gt;
*****enter email address&lt;br /&gt;
*****click add&lt;br /&gt;
****on this page click 'add new attribute'&lt;br /&gt;
*****choose userPassord&lt;br /&gt;
*****enter password as an md5&lt;br /&gt;
*****click add&lt;br /&gt;
&lt;br /&gt;
this adds the new user to ou=people&lt;br /&gt;
&lt;br /&gt;
to add users to the cn=project,ou=svn group&lt;br /&gt;
*expand the ou=svn tree&lt;br /&gt;
*click on cn=project&lt;br /&gt;
**under member click 'add value'&lt;br /&gt;
**add user to this in same form as you and howard are listed&lt;br /&gt;
**or can click on the 'folder with magnifying glasss' to select a user&lt;br /&gt;
&lt;br /&gt;
that's it.&lt;br /&gt;
&lt;br /&gt;
=== ldap structure ===&lt;br /&gt;
*dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
**cn=Manager&lt;br /&gt;
&lt;br /&gt;
**ou=people &lt;br /&gt;
&lt;br /&gt;
***Separate entity for each user&lt;br /&gt;
&lt;br /&gt;
*:uid=login,ou=people,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=inetOrgPerson&lt;br /&gt;
*:cn=firstName lastName&lt;br /&gt;
*:sn=lastName&lt;br /&gt;
*:uid=login&lt;br /&gt;
*:mail=email@address&lt;br /&gt;
*:userPassword={md5}YPTyViiMKhiuWKEmFUOKLA==&lt;br /&gt;
&lt;br /&gt;
**ou=projects,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=organizationalUnit&lt;br /&gt;
*:ou=project&lt;br /&gt;
*:description=separate entity for each osgeo project with list of members&lt;br /&gt;
&lt;br /&gt;
***Separate entity for each project group&lt;br /&gt;
*:cn=admin,ou=projects,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=admin&lt;br /&gt;
*:description=osgeo sysadmin group&lt;br /&gt;
&lt;br /&gt;
**ou=svn&lt;br /&gt;
*:objectClass=organizationalUnit&lt;br /&gt;
*:ou=svn&lt;br /&gt;
*:description=separate entity for each repository with list of members with commit rights&lt;br /&gt;
&lt;br /&gt;
***separate entity for each svn group&lt;br /&gt;
*:cn=fdo,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=fdo&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
*:cn=gdal,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=gdal&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
*:cn=mapguide,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=mapguide&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
*:cn=mapbender,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=mapbender&lt;br /&gt;
*:member= dn of member&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Example ldif file'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;&lt;br /&gt;
   version: 1&lt;br /&gt;
&lt;br /&gt;
   dn: dc=osgeo,dc=org&lt;br /&gt;
   objectClass: dcObject&lt;br /&gt;
   objectClass: organization&lt;br /&gt;
   description: OSGeo ldap dit&lt;br /&gt;
   o: OSGeo&lt;br /&gt;
   dc: osgeo&lt;br /&gt;
&lt;br /&gt;
   dn: cn=Manager,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: organizationalRole&lt;br /&gt;
   cn: Manager&lt;br /&gt;
&lt;br /&gt;
   dn: ou=people,dc=osgeo,dc=org&lt;br /&gt;
   ou: people&lt;br /&gt;
   description: all users of osgeo&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: inetOrgPerson&lt;br /&gt;
   uid: jsmith&lt;br /&gt;
   cn: Jon Smith&lt;br /&gt;
   sn: Smith &lt;br /&gt;
   givenName: Jon&lt;br /&gt;
   mail: jsmith@somewhere.com&lt;br /&gt;
   userPassword: {md5}5Or4zfzGqo3jh/6iIUgKcA==&lt;br /&gt;
&lt;br /&gt;
   dn: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: inetOrgPerson&lt;br /&gt;
   uid: jbrown&lt;br /&gt;
   cn: Jane Brown&lt;br /&gt;
   sn: Brown&lt;br /&gt;
   givenName: Jane &lt;br /&gt;
   mail: jbrown@someotherplace.com&lt;br /&gt;
   userPassword: {md5}1iWhTyvkK2m4Uuar+Dp/IA==&lt;br /&gt;
&lt;br /&gt;
   dn: ou=projects,dc=osgeo,dc=org&lt;br /&gt;
   ou: projects&lt;br /&gt;
   description: separate entity for each osgeo project with list of members&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: cn=admin,ou=projects,dc=osgeo,dc=org&lt;br /&gt;
   cn: admin&lt;br /&gt;
   description: osgeo sysadmin group&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   ou: svn&lt;br /&gt;
   description: separate entity for for each repository.list of members with commit rights&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: cn=fdo,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: fdo&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=gdal,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   cn: gdal&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   objectClass: top&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=mapbender,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: mapbender&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=mapguide,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: mapguide&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Subversion =&lt;br /&gt;
[http://svnbook.red-bean.com/nightly/en/index.html Subversion Book]&lt;br /&gt;
=== Creating a repository ===&lt;br /&gt;
   $ sudo mkdir /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo svnadmin /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading a repository from a dumpfile ===&lt;br /&gt;
   $ sudo svnadmin load /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;lt; /path/to/dumpfile&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Dumping a repository ===&lt;br /&gt;
   $ sudo svnadmin dump /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;gt; dumpfile&lt;br /&gt;
&lt;br /&gt;
=== Recovering / unlocking repository ===&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TRAC =&lt;br /&gt;
[http://trac.edgewall.org/wiki/TracGuide Trac Guide]&lt;br /&gt;
=== Creating a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/trac/&amp;lt;proj_name&amp;gt; initenv&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/trac/&amp;lt;proj_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hotcopy a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/html/trac/&amp;lt;proj_name&amp;gt; hotcopy /path/to/copy/trac/to&lt;br /&gt;
&lt;br /&gt;
= Mailman Maintenance =&lt;br /&gt;
=== create a new mailing list ===&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
=== renaming a list ===&lt;br /&gt;
* create new list&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
* move original lists archive to newlists archive location&lt;br /&gt;
   $ sudo cp /var/lib/mailman/oldlist/oldlist.mbox/oldlist.mbox \&lt;br /&gt;
     /var/lib/mailman/newlist/newlist.mbox/&lt;br /&gt;
* create archive&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/arch --wipe newlist&lt;br /&gt;
* export subscribers from old list regular and digest members&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -r listname &amp;gt; listname-regular.txt&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -d listname &amp;gt; listname-digest.txt&lt;br /&gt;
* import subscribers into new list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --regular-members=listname-regular.txt --welcome-msg=y listname&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --digest-members=listname-digest.txt --welcome-msg=y listname&lt;br /&gt;
* remove old list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/rmlist listname&lt;br /&gt;
* update aliases and check that proper permissions are set&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/genaliases&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/check_perms -f&lt;br /&gt;
&lt;br /&gt;
= Backups = &lt;br /&gt;
&lt;br /&gt;
=== Daily tape backup ===&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
=== Other backups ===&lt;br /&gt;
==== Mysql ====&lt;br /&gt;
MySQL is being backed up using [http://mysqlbackup.zmanda.com MySQL-zrm]&lt;br /&gt;
==== current cron jobs for backups ====&lt;br /&gt;
/etc/cron.d/backup.cron&lt;br /&gt;
&lt;br /&gt;
   #### Backup cron jobs &lt;br /&gt;
   # min hour day month dayofweek user command&lt;br /&gt;
   #&lt;br /&gt;
   # Daily rsync to /home/back&lt;br /&gt;
   # /etc&lt;br /&gt;
   05 10 * * * root /usr/bin/rsync -a --delete /etc/ /home/back/etc/&lt;br /&gt;
   # /var/www/html&lt;br /&gt;
   08 10 * * * root /usr/bin/rsync -a --delete /var/www/html/ /home/back/html/&lt;br /&gt;
   # Every 3 hours &lt;br /&gt;
   # /var/lib/mailman&lt;br /&gt;
   20 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mailman/ /home/back/mailman/&lt;br /&gt;
   # /etc/mysql-zrm&lt;br /&gt;
   33 */3 * * * root /usr/bin/rsync -a --delete /etc/mysql-zrm/ /home/back/etc/mysql-zrm/&lt;br /&gt;
   # /var/lib/mysql-zrm&lt;br /&gt;
   34 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mysql-zrm/ /home/back/mysql-zrm/&lt;br /&gt;
   # call backup_trac_svn.sh to backup &lt;br /&gt;
   # subversion /var/www/svn/repos&lt;br /&gt;
   # trac /var/www/trac&lt;br /&gt;
   45 */3 * * * root /root/scripts/backup_trac_svn.sh&lt;br /&gt;
   # once a day rsync /home/back to osgeo2.osgeo.net&lt;br /&gt;
   0 22 * * * root /root/scripts/rsync_back.pl&lt;br /&gt;
&lt;br /&gt;
backup script are in /root/scripts&lt;br /&gt;
&lt;br /&gt;
'''backup_trac_svn.sh''' calls separate scripts to backup trac and svn repositories and place tgz files of the backups in /home/back/svn_backup and /home/back/trac_backup which are held for 14 days.&lt;br /&gt;
'''rsync_back''' rsyncs www.osgeo.org/home/back with test.osgeo.net/home/back (the second PEER1 server)&lt;br /&gt;
&lt;br /&gt;
= DNS =&lt;br /&gt;
dns is administered via [https://www.pairnic.com/login.html PairNIC]&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Migration_Documentation&amp;diff=11204</id>
		<title>Migration Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Migration_Documentation&amp;diff=11204"/>
		<updated>2007-02-01T15:24:59Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
&lt;br /&gt;
All iptables rules must be written in /etc/sysconfig/iptables-custom &lt;br /&gt;
&lt;br /&gt;
Current custom rules are:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/SSH&lt;br /&gt;
   *filter&lt;br /&gt;
   -A OUTPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/VERITAS&lt;br /&gt;
&lt;br /&gt;
''note: this file was placed here by PEER1''&lt;br /&gt;
   *filter&lt;br /&gt;
   -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT&lt;br /&gt;
   -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Apache =&lt;br /&gt;
As the system is Red Hat use /sbin/services httpd start|stop|restart|configtest|reload instead of /usr/sbin/apchectl&lt;br /&gt;
&lt;br /&gt;
the main Config file for apache is,&lt;br /&gt;
/etc/httpd/conf/httpd.conf&lt;br /&gt;
&lt;br /&gt;
additional config files are at&lt;br /&gt;
/etc/httpd/conf.d/&lt;br /&gt;
&lt;br /&gt;
*ssl.conf&lt;br /&gt;
*subversion.conf&lt;br /&gt;
*trac.conf&lt;br /&gt;
*virtual_host.conf&lt;br /&gt;
*rewrite.conf&lt;br /&gt;
*mailman.conf&lt;br /&gt;
*trac.gdal.conf&lt;br /&gt;
*php.conf&lt;br /&gt;
*python.conf&lt;br /&gt;
*perl.conf&lt;br /&gt;
*phpldapadmin.conf - http auth and ssl directives for access to https://www.osgeo.org/ldapadmin&lt;br /&gt;
*working.conf - http auth and ssl directives for access to https://www.osgeo.org/_ldap/ldap.php&lt;br /&gt;
*webalizer.conf - http auth and ssl directives for access to https://www.osgeo.org/usage.php&lt;br /&gt;
 &lt;br /&gt;
= OpenLDAP =&lt;br /&gt;
[http://www.openldap.org/doc/admin23/ OpenLDAP Admin Guide]&lt;br /&gt;
&lt;br /&gt;
Currently ldap structure is pretty basic.  The purpose for keeping this structure simple is to allow for a more complex structure to be evolved as ldap becomes increasingly integrated into the full osgeo systems structure.&lt;br /&gt;
&lt;br /&gt;
=== ldap structure ===&lt;br /&gt;
*dc=osgeo, dc=org&lt;br /&gt;
**cn=Manager&lt;br /&gt;
**ou=people &lt;br /&gt;
***Separate entity for each user&lt;br /&gt;
*:uid=login, ou=people, dc=osgeo, dc=org&lt;br /&gt;
*:objectClass=inetOrgPerson&lt;br /&gt;
*:cn=firstName lastName&lt;br /&gt;
*:sn=lastName&lt;br /&gt;
*:uid=login&lt;br /&gt;
*:mail=email@address&lt;br /&gt;
*:userPassword={md5}YPTyViiMKhiuWKEmFUOKLA==&lt;br /&gt;
**ou=projects&lt;br /&gt;
***Separate entity for each project group&lt;br /&gt;
*:cn=admin,ou=projects,dc=osgeo,dc=org&lt;br /&gt;
*:objectClass=groupOfNames&lt;br /&gt;
*:cn=admin&lt;br /&gt;
*:description=&lt;br /&gt;
**ou=svn&lt;br /&gt;
***separate entity for each svn group&lt;br /&gt;
&lt;br /&gt;
'''Example ldif file'''&lt;br /&gt;
   version: 1&lt;br /&gt;
&lt;br /&gt;
   dn: dc=osgeo,dc=org&lt;br /&gt;
   objectClass: dcObject&lt;br /&gt;
   objectClass: organization&lt;br /&gt;
   description: OSGeo ldap dit&lt;br /&gt;
   o: OSGeo&lt;br /&gt;
   dc: osgeo&lt;br /&gt;
&lt;br /&gt;
   dn: cn=Manager,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: organizationalRole&lt;br /&gt;
   cn: Manager&lt;br /&gt;
&lt;br /&gt;
   dn: ou=people,dc=osgeo,dc=org&lt;br /&gt;
   ou: people&lt;br /&gt;
   description: all users of osgeo&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: inetOrgPerson&lt;br /&gt;
   uid: jsmith&lt;br /&gt;
   cn: Jon Smith&lt;br /&gt;
   sn: Smith &lt;br /&gt;
   givenName: Jon&lt;br /&gt;
   mail: jsmith@somewhere.com&lt;br /&gt;
   userPassword: {md5}5Or4zfzGqo3jh/6iIUgKcA==&lt;br /&gt;
&lt;br /&gt;
   dn: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: inetOrgPerson&lt;br /&gt;
   uid: jbrown&lt;br /&gt;
   cn: Jane Brown&lt;br /&gt;
   sn: Brown&lt;br /&gt;
   givenName: Jane &lt;br /&gt;
   mail: jbrown@someotherplace.com&lt;br /&gt;
   userPassword: {md5}1iWhTyvkK2m4Uuar+Dp/IA==&lt;br /&gt;
&lt;br /&gt;
   dn: ou=projects,dc=osgeo,dc=org&lt;br /&gt;
   ou: projects&lt;br /&gt;
   description: separate entity for each osgeo project with list of members&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: cn=admin,ou=projects,dc=osgeo,dc=org&lt;br /&gt;
   cn: admin&lt;br /&gt;
   description: osgeo sysadmin group&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   ou: svn&lt;br /&gt;
   description: separate entity for for each repository.list of members with commit rights&lt;br /&gt;
   objectClass: organizationalUnit&lt;br /&gt;
&lt;br /&gt;
   dn: cn=fdo,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: fdo&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=gdal,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   cn: gdal&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   objectClass: top&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=mapbender,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: mapbender&lt;br /&gt;
   member: uid=jsmith,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
   dn: cn=mapguide,ou=svn,dc=osgeo,dc=org&lt;br /&gt;
   objectClass: groupOfNames&lt;br /&gt;
   cn: mapguide&lt;br /&gt;
   member: uid=jbrown,ou=people,dc=osgeo,dc=org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Subversion =&lt;br /&gt;
[http://svnbook.red-bean.com/nightly/en/index.html Subversion Book]&lt;br /&gt;
=== Creating a repository ===&lt;br /&gt;
   $ sudo mkdir /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo svnadmin /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading a repository from a dumpfile ===&lt;br /&gt;
   $ sudo svnadmin load /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;lt; /path/to/dumpfile&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Dumping a repository ===&lt;br /&gt;
   $ sudo svnadmin dump /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;gt; dumpfile&lt;br /&gt;
&lt;br /&gt;
=== Recovering / unlocking repository ===&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TRAC =&lt;br /&gt;
[http://trac.edgewall.org/wiki/TracGuide Trac Guide]&lt;br /&gt;
=== Creating a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/trac/&amp;lt;proj_name&amp;gt; initenv&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/trac/&amp;lt;proj_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hotcopy a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/html/trac/&amp;lt;proj_name&amp;gt; hotcopy /path/to/copy/trac/to&lt;br /&gt;
&lt;br /&gt;
= Mailman Maintenance =&lt;br /&gt;
=== create a new mailing list ===&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
=== renaming a list ===&lt;br /&gt;
* create new list&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
* move original lists archive to newlists archive location&lt;br /&gt;
   $ sudo cp /var/lib/mailman/oldlist/oldlist.mbox/oldlist.mbox \&lt;br /&gt;
     /var/lib/mailman/newlist/newlist.mbox/&lt;br /&gt;
* create archive&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/arch --wipe newlist&lt;br /&gt;
* export subscribers from old list regular and digest members&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -r listname &amp;gt; listname-regular.txt&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -d listname &amp;gt; listname-digest.txt&lt;br /&gt;
* import subscribers into new list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --regular-members=listname-regular.txt --welcome-msg=y listname&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --digest-members=listname-digest.txt --welcome-msg=y listname&lt;br /&gt;
* remove old list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/rmlist listname&lt;br /&gt;
* update aliases and check that proper permissions are set&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/genaliases&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/check_perms -f&lt;br /&gt;
&lt;br /&gt;
= Backups = &lt;br /&gt;
&lt;br /&gt;
=== Daily tape backup ===&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
=== Other backups ===&lt;br /&gt;
==== Mysql ====&lt;br /&gt;
MySQL is being backed up using [http://mysqlbackup.zmanda.com MySQL-zrm]&lt;br /&gt;
==== current cron jobs for backups ====&lt;br /&gt;
/etc/cron.d/backup.cron&lt;br /&gt;
&lt;br /&gt;
   #### Backup cron jobs &lt;br /&gt;
   # min hour day month dayofweek user command&lt;br /&gt;
   #&lt;br /&gt;
   # Daily rsync to /home/back&lt;br /&gt;
   # /etc&lt;br /&gt;
   05 10 * * * root /usr/bin/rsync -a --delete /etc/ /home/back/etc/&lt;br /&gt;
   # /var/www/html&lt;br /&gt;
   08 10 * * * root /usr/bin/rsync -a --delete /var/www/html/ /home/back/html/&lt;br /&gt;
   # Every 3 hours &lt;br /&gt;
   # /var/lib/mailman&lt;br /&gt;
   20 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mailman/ /home/back/mailman/&lt;br /&gt;
   # /etc/mysql-zrm&lt;br /&gt;
   33 */3 * * * root /usr/bin/rsync -a --delete /etc/mysql-zrm/ /home/back/etc/mysql-zrm/&lt;br /&gt;
   # /var/lib/mysql-zrm&lt;br /&gt;
   34 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mysql-zrm/ /home/back/mysql-zrm/&lt;br /&gt;
   # call backup_trac_svn.sh to backup &lt;br /&gt;
   # subversion /var/www/svn/repos&lt;br /&gt;
   # trac /var/www/trac&lt;br /&gt;
   45 */3 * * * root /root/scripts/backup_trac_svn.sh&lt;br /&gt;
   # once a day rsync /home/back to osgeo2.osgeo.net&lt;br /&gt;
   0 22 * * * root /root/scripts/rsync_back.pl&lt;br /&gt;
&lt;br /&gt;
backup script are in /root/scripts&lt;br /&gt;
&lt;br /&gt;
'''backup_trac_svn.sh''' calls separate scripts to backup trac and svn repositories and place tgz files of the backups in /home/back/svn_backup and /home/back/trac_backup which are held for 14 days.&lt;br /&gt;
'''rsync_back''' rsyncs www.osgeo.org/home/back with test.osgeo.net/home/back (the second PEER1 server)&lt;br /&gt;
&lt;br /&gt;
= DNS =&lt;br /&gt;
dns is administered via [https://www.pairnic.com/login.html PairNIC]&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Migration_Documentation&amp;diff=11203</id>
		<title>Migration Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Migration_Documentation&amp;diff=11203"/>
		<updated>2007-02-01T14:51:29Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
&lt;br /&gt;
All iptables rules must be written in /etc/sysconfig/iptables-custom &lt;br /&gt;
&lt;br /&gt;
Current custom rules are:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/SSH&lt;br /&gt;
   *filter&lt;br /&gt;
   -A OUTPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/VERITAS&lt;br /&gt;
&lt;br /&gt;
''note: this file was placed here by PEER1''&lt;br /&gt;
   *filter&lt;br /&gt;
   -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT&lt;br /&gt;
   -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Apache maintenance =&lt;br /&gt;
As the system is Red Hat use /sbin/services httpd start|stop|restart|configtest|reload instead of /usr/sbin/apchectl&lt;br /&gt;
&lt;br /&gt;
the main Config file for apache is,&lt;br /&gt;
/etc/httpd/conf/httpd.conf&lt;br /&gt;
&lt;br /&gt;
additional config files are at&lt;br /&gt;
/etc/httpd/conf.d/&lt;br /&gt;
&lt;br /&gt;
*ssl.conf&lt;br /&gt;
*subversion.conf&lt;br /&gt;
*trac.conf&lt;br /&gt;
*virtual_host.conf&lt;br /&gt;
*rewrite.conf&lt;br /&gt;
*mailman.conf&lt;br /&gt;
*trac.gdal.conf&lt;br /&gt;
*php.conf&lt;br /&gt;
*python.conf&lt;br /&gt;
*perl.conf&lt;br /&gt;
*phpldapadmin.conf - http auth and ssl directives for access to https://www.osgeo.org/ldapadmin&lt;br /&gt;
*working.conf - http auth and ssl directives for access to https://www.osgeo.org/_ldap/ldap.php&lt;br /&gt;
*webalizer.conf - http auth and ssl directives for access to https://www.osgeo.org/usage.php&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
[http://svnbook.red-bean.com/nightly/en/index.html Subversion Book]&lt;br /&gt;
=== Creating a repository ===&lt;br /&gt;
   $ sudo mkdir /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo svnadmin /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading a repository from a dumpfile ===&lt;br /&gt;
   $ sudo svnadmin load /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;lt; /path/to/dumpfile&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Dumping a repository ===&lt;br /&gt;
   $ sudo svnadmin dump /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;gt; dumpfile&lt;br /&gt;
&lt;br /&gt;
=== Recovering / unlocking repository ===&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TRAC Maintenance =&lt;br /&gt;
[http://trac.edgewall.org/wiki/TracGuide Trac Guide]&lt;br /&gt;
=== Creating a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/trac/&amp;lt;proj_name&amp;gt; initenv&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/trac/&amp;lt;proj_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hotcopy a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/html/trac/&amp;lt;proj_name&amp;gt; hotcopy /path/to/copy/trac/to&lt;br /&gt;
&lt;br /&gt;
= Mailman Maintenance =&lt;br /&gt;
=== create a new mailing list ===&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
=== renaming a list ===&lt;br /&gt;
* create new list&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
* move original lists archive to newlists archive location&lt;br /&gt;
   $ sudo cp /var/lib/mailman/oldlist/oldlist.mbox/oldlist.mbox \&lt;br /&gt;
     /var/lib/mailman/newlist/newlist.mbox/&lt;br /&gt;
* create archive&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/arch --wipe newlist&lt;br /&gt;
* export subscribers from old list regular and digest members&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -r listname &amp;gt; listname-regular.txt&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -d listname &amp;gt; listname-digest.txt&lt;br /&gt;
* import subscribers into new list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --regular-members=listname-regular.txt --welcome-msg=y listname&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --digest-members=listname-digest.txt --welcome-msg=y listname&lt;br /&gt;
* remove old list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/rmlist listname&lt;br /&gt;
* update aliases and check that proper permissions are set&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/genaliases&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/check_perms -f&lt;br /&gt;
&lt;br /&gt;
= Backups = &lt;br /&gt;
&lt;br /&gt;
=== Daily tape backup ===&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
=== Other backups ===&lt;br /&gt;
==== Mysql ====&lt;br /&gt;
MySQL is being backed up using [http://mysqlbackup.zmanda.com MySQL-zrm]&lt;br /&gt;
==== current cron jobs for backups ====&lt;br /&gt;
/etc/cron.d/backup.cron&lt;br /&gt;
&lt;br /&gt;
   #### Backup cron jobs &lt;br /&gt;
   # min hour day month dayofweek user command&lt;br /&gt;
   #&lt;br /&gt;
   # Daily rsync to /home/back&lt;br /&gt;
   # /etc&lt;br /&gt;
   05 10 * * * root /usr/bin/rsync -a --delete /etc/ /home/back/etc/&lt;br /&gt;
   # /var/www/html&lt;br /&gt;
   08 10 * * * root /usr/bin/rsync -a --delete /var/www/html/ /home/back/html/&lt;br /&gt;
   # Every 3 hours &lt;br /&gt;
   # /var/lib/mailman&lt;br /&gt;
   20 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mailman/ /home/back/mailman/&lt;br /&gt;
   # /etc/mysql-zrm&lt;br /&gt;
   33 */3 * * * root /usr/bin/rsync -a --delete /etc/mysql-zrm/ /home/back/etc/mysql-zrm/&lt;br /&gt;
   # /var/lib/mysql-zrm&lt;br /&gt;
   34 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mysql-zrm/ /home/back/mysql-zrm/&lt;br /&gt;
   # call backup_trac_svn.sh to backup &lt;br /&gt;
   # subversion /var/www/svn/repos&lt;br /&gt;
   # trac /var/www/trac&lt;br /&gt;
   45 */3 * * * root /root/scripts/backup_trac_svn.sh&lt;br /&gt;
   # once a day rsync /home/back to osgeo2.osgeo.net&lt;br /&gt;
   0 22 * * * root /root/scripts/rsync_back.pl&lt;br /&gt;
&lt;br /&gt;
backup script are in /root/scripts&lt;br /&gt;
&lt;br /&gt;
'''backup_trac_svn.sh''' calls separate scripts to backup trac and svn repositories and place tgz files of the backups in /home/back/svn_backup and /home/back/trac_backup which are held for 14 days.&lt;br /&gt;
'''rsync_back''' rsyncs www.osgeo.org/home/back with test.osgeo.net/home/back (the second PEER1 server)&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Migration_Documentation&amp;diff=11184</id>
		<title>Migration Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Migration_Documentation&amp;diff=11184"/>
		<updated>2007-01-31T21:03:35Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
&lt;br /&gt;
All iptables rules must be written in /etc/sysconfig/iptables-custom &lt;br /&gt;
&lt;br /&gt;
Current custom rules are:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/SSH&lt;br /&gt;
   *filter&lt;br /&gt;
   -A OUTPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/VERITAS&lt;br /&gt;
&lt;br /&gt;
''note: this file was placed here by PEER1''&lt;br /&gt;
   *filter&lt;br /&gt;
   -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT&lt;br /&gt;
   -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
[http://svnbook.red-bean.com/nightly/en/index.html Subversion Book]&lt;br /&gt;
=== Creating a repository ===&lt;br /&gt;
   $ sudo mkdir /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo svnadmin /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading a repository from a dumpfile ===&lt;br /&gt;
   $ sudo svnadmin load /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;lt; /path/to/dumpfile&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Dumping a repository ===&lt;br /&gt;
   $ sudo svnadmin dump /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;gt; dumpfile&lt;br /&gt;
&lt;br /&gt;
=== Recovering / unlocking repository ===&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TRAC Maintenance =&lt;br /&gt;
[http://trac.edgewall.org/wiki/TracGuide Trac Guide]&lt;br /&gt;
=== Creating a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/trac/&amp;lt;proj_name&amp;gt; initenv&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/trac/&amp;lt;proj_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hotcopy a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/html/trac/&amp;lt;proj_name&amp;gt; hotcopy /path/to/copy/trac/to&lt;br /&gt;
&lt;br /&gt;
= Mailman Maintenance =&lt;br /&gt;
=== create a new mailing list ===&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
=== renaming a list ===&lt;br /&gt;
* create new list&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
* move original lists archive to newlists archive location&lt;br /&gt;
   $ sudo cp /var/lib/mailman/oldlist/oldlist.mbox/oldlist.mbox \&lt;br /&gt;
     /var/lib/mailman/newlist/newlist.mbox/&lt;br /&gt;
* create archive&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/arch --wipe newlist&lt;br /&gt;
* export subscribers from old list regular and digest members&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -r listname &amp;gt; listname-regular.txt&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -d listname &amp;gt; listname-digest.txt&lt;br /&gt;
* import subscribers into new list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --regular-members=listname-regular.txt --welcome-msg=y listname&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --digest-members=listname-digest.txt --welcome-msg=y listname&lt;br /&gt;
* remove old list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/rmlist listname&lt;br /&gt;
* update aliases and check that proper permissions are set&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/genaliases&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/check_perms -f&lt;br /&gt;
&lt;br /&gt;
= Backups = &lt;br /&gt;
&lt;br /&gt;
=== Daily tape backup ===&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
=== Other backups ===&lt;br /&gt;
==== Mysql ====&lt;br /&gt;
MySQL is being backed up using [http://mysqlbackup.zmanda.com MySQL-zrm]&lt;br /&gt;
==== current cron jobs for backups ====&lt;br /&gt;
/etc/cron.d/backup.cron&lt;br /&gt;
&lt;br /&gt;
   #### Backup cron jobs &lt;br /&gt;
   # min hour day month dayofweek user command&lt;br /&gt;
   #&lt;br /&gt;
   # Daily rsync to /home/back&lt;br /&gt;
   # /etc&lt;br /&gt;
   05 10 * * * root /usr/bin/rsync -a --delete /etc/ /home/back/etc/&lt;br /&gt;
   # /var/www/html&lt;br /&gt;
   08 10 * * * root /usr/bin/rsync -a --delete /var/www/html/ /home/back/html/&lt;br /&gt;
   # Every 3 hours &lt;br /&gt;
   # /var/lib/mailman&lt;br /&gt;
   20 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mailman/ /home/back/mailman/&lt;br /&gt;
   # /etc/mysql-zrm&lt;br /&gt;
   33 */3 * * * root /usr/bin/rsync -a --delete /etc/mysql-zrm/ /home/back/etc/mysql-zrm/&lt;br /&gt;
   # /var/lib/mysql-zrm&lt;br /&gt;
   34 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mysql-zrm/ /home/back/mysql-zrm/&lt;br /&gt;
   # call backup_trac_svn.sh to backup &lt;br /&gt;
   # subversion /var/www/svn/repos&lt;br /&gt;
   # trac /var/www/trac&lt;br /&gt;
   45 */3 * * * root /root/scripts/backup_trac_svn.sh&lt;br /&gt;
   # once a day rsync /home/back to osgeo2.osgeo.net&lt;br /&gt;
   0 22 * * * root /root/scripts/rsync_back.pl&lt;br /&gt;
&lt;br /&gt;
backup script are in /root/scripts&lt;br /&gt;
&lt;br /&gt;
'''backup_trac_svn.sh''' calls separate scripts to backup trac and svn repositories and place tgz files of the backups in /home/back/svn_backup and /home/back/trac_backup which are held for 14 days.&lt;br /&gt;
'''rsync_back''' rsyncs www.osgeo.org/home/back with test.osgeo.net/home/back (the second PEER1 server)&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=SAC&amp;diff=11183</id>
		<title>SAC</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=SAC&amp;diff=11183"/>
		<updated>2007-01-31T21:02:54Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* Migration to new Infrastructure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The OSGeo System Administration Committee (SAC) manages all non-CollabNet computer systems operated by OSGeo. Responsibilities include:&lt;br /&gt;
&lt;br /&gt;
* Develop published policies and procedures for managing systems, and system services.&lt;br /&gt;
* Solicit input from stakeholders on requred system services, and to prioritize which to offer and when.&lt;br /&gt;
* Assign appropriate security and other responsibilities to administrators and users for access to systems.&lt;br /&gt;
* Ensure core OSGeo system services are well maintained, highly available and recoverable in case of system failure.&lt;br /&gt;
* Recommend system expenditures to the Board. &lt;br /&gt;
&lt;br /&gt;
= Members =&lt;br /&gt;
&lt;br /&gt;
* Norman Vine (Chair)&lt;br /&gt;
* Howard Butler&lt;br /&gt;
* John Graham &lt;br /&gt;
* Frank Warmerdam&lt;br /&gt;
* Arnulf Christl&lt;br /&gt;
* Daniel Morissette&lt;br /&gt;
&lt;br /&gt;
= Meetings =&lt;br /&gt;
* 1/22/07 [[SAC:1_22_07_agenda]] [[SAC:1_25_07_minutes]]&lt;br /&gt;
&lt;br /&gt;
= Policy Documents =&lt;br /&gt;
&lt;br /&gt;
* [[SAC:Security Groups Policy]] (approved)&lt;br /&gt;
&lt;br /&gt;
= Procedures =&lt;br /&gt;
* [[SAC:Admin and Troubleshooting]]&lt;br /&gt;
* [[SAC:Create New User]]&lt;br /&gt;
* [[SAC:Setup LDAP Authentication]]&lt;br /&gt;
* [[SAC:Standard System Setup]]&lt;br /&gt;
* [[SAC:ISO Mirroring]]&lt;br /&gt;
* [[SAC:Mailing Lists]]&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
== Documents ==&lt;br /&gt;
* [https://sac.osgeo.org/SAC_Motion.html Motion forming SAC]&lt;br /&gt;
* [[Infrastructure Transition Plan]]&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
* [[SAC TODO List]]&lt;br /&gt;
* [[SAC Service Status]] indicates what services are setup, where and known issues.&lt;br /&gt;
* [[SAC DNS Registry]] lists DNS entries within the osgeo.org domain.&lt;br /&gt;
* [[BuildBot Configuration]]&lt;br /&gt;
* [[Download Server]]&lt;br /&gt;
* [[Proposed LDAP Layout]]&lt;br /&gt;
* [[Community Mapbuilder Continuum Builds]]&lt;br /&gt;
&lt;br /&gt;
== Portal and Communication ==&lt;br /&gt;
* [[Drupal Portal]] - transition notes for www project, talks about issues transitioning to new web site portal.&lt;br /&gt;
* Mailing list: [https://sac.osgeo.org/servlets/ProjectMailingListList Subscribe] and [https://sac.osgeo.org/servlets/SummarizeList?listName=sac Archive]&lt;br /&gt;
&lt;br /&gt;
== Projects with SAC involved ==&lt;br /&gt;
* [[Geodata processing at telascience.org]] - by [[Geodata Packaging Working Group]]&lt;br /&gt;
* The [[Infrastructure Working Group]] has some thoughts on services required from SAC and may provide additional input in the future. &lt;br /&gt;
* The [[Software Stack]] page talks about the ''Reference Stack'' of software we would like to setup for demonstration and testing purposes. &lt;br /&gt;
* Teleconferencing http://openwengo.org/&lt;br /&gt;
&lt;br /&gt;
== Migration to new Infrastructure ==&lt;br /&gt;
* The [[Project Infrastructure Migration]] page talks about migration issues of the projects in incubation and provides hints to some services we should be trying to provide.&lt;br /&gt;
* [[Migration Tasks and Milestones]]&lt;br /&gt;
* [[Migration Documentation]]&lt;br /&gt;
[[Category:Infrastructure]]&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11182</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11182"/>
		<updated>2007-01-31T20:36:54Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
&lt;br /&gt;
All iptables rules must be written in /etc/sysconfig/iptables-custom &lt;br /&gt;
&lt;br /&gt;
Current custom rules are:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/SSH&lt;br /&gt;
   *filter&lt;br /&gt;
   -A OUTPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/VERITAS&lt;br /&gt;
&lt;br /&gt;
''note: this file was placed here by PEER1''&lt;br /&gt;
   *filter&lt;br /&gt;
   -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT&lt;br /&gt;
   -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
[http://svnbook.red-bean.com/nightly/en/index.html Subversion Book]&lt;br /&gt;
=== Creating a repository ===&lt;br /&gt;
   $ sudo mkdir /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo svnadmin /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading a repository from a dumpfile ===&lt;br /&gt;
   $ sudo svnadmin load /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;lt; /path/to/dumpfile&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Dumping a repository ===&lt;br /&gt;
   $ sudo svnadmin dump /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;gt; dumpfile&lt;br /&gt;
&lt;br /&gt;
=== Recovering / unlocking repository ===&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TRAC Maintenance =&lt;br /&gt;
[http://trac.edgewall.org/wiki/TracGuide Trac Guide]&lt;br /&gt;
=== Creating a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/trac/&amp;lt;proj_name&amp;gt; initenv&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/trac/&amp;lt;proj_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hotcopy a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/html/trac/&amp;lt;proj_name&amp;gt; hotcopy /path/to/copy/trac/to&lt;br /&gt;
&lt;br /&gt;
= Mailman Maintenance =&lt;br /&gt;
=== create a new mailing list ===&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
=== renaming a list ===&lt;br /&gt;
* create new list&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
* move original lists archive to newlists archive location&lt;br /&gt;
   $ sudo cp /var/lib/mailman/oldlist/oldlist.mbox/oldlist.mbox \&lt;br /&gt;
     /var/lib/mailman/newlist/newlist.mbox/&lt;br /&gt;
* create archive&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/arch --wipe newlist&lt;br /&gt;
* export subscribers from old list regular and digest members&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -r listname &amp;gt; listname-regular.txt&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -d listname &amp;gt; listname-digest.txt&lt;br /&gt;
* import subscribers into new list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --regular-members=listname-regular.txt --welcome-msg=y listname&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --digest-members=listname-digest.txt --welcome-msg=y listname&lt;br /&gt;
* remove old list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/rmlist listname&lt;br /&gt;
* update aliases and check that proper permissions are set&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/genaliases&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/check_perms -f&lt;br /&gt;
&lt;br /&gt;
= Backups = &lt;br /&gt;
&lt;br /&gt;
=== Daily tape backup ===&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
=== Other backups ===&lt;br /&gt;
==== Mysql ====&lt;br /&gt;
MySQL is being backed up using [http://mysqlbackup.zmanda.com MySQL-zrm]&lt;br /&gt;
==== current cron jobs for backups ====&lt;br /&gt;
/etc/cron.d/backup.cron&lt;br /&gt;
&lt;br /&gt;
   #### Backup cron jobs &lt;br /&gt;
   # min hour day month dayofweek user command&lt;br /&gt;
   #&lt;br /&gt;
   # Daily rsync to /home/back&lt;br /&gt;
   # /etc&lt;br /&gt;
   05 10 * * * root /usr/bin/rsync -a --delete /etc/ /home/back/etc/&lt;br /&gt;
   # /var/www/html&lt;br /&gt;
   08 10 * * * root /usr/bin/rsync -a --delete /var/www/html/ /home/back/html/&lt;br /&gt;
   # Every 3 hours &lt;br /&gt;
   # /var/lib/mailman&lt;br /&gt;
   20 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mailman/ /home/back/mailman/&lt;br /&gt;
   # /etc/mysql-zrm&lt;br /&gt;
   33 */3 * * * root /usr/bin/rsync -a --delete /etc/mysql-zrm/ /home/back/etc/mysql-zrm/&lt;br /&gt;
   # /var/lib/mysql-zrm&lt;br /&gt;
   34 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mysql-zrm/ /home/back/mysql-zrm/&lt;br /&gt;
   # call backup_trac_svn.sh to backup &lt;br /&gt;
   # subversion /var/www/svn/repos&lt;br /&gt;
   # trac /var/www/trac&lt;br /&gt;
   45 */3 * * * root /root/scripts/backup_trac_svn.sh&lt;br /&gt;
   # once a day rsync /home/back to osgeo2.osgeo.net&lt;br /&gt;
   0 22 * * * root /root/scripts/rsync_back.pl&lt;br /&gt;
&lt;br /&gt;
backup script are in /root/scripts&lt;br /&gt;
&lt;br /&gt;
'''backup_trac_svn.sh''' calls separate scripts to backup trac and svn repositories and place tgz files of the backups in /home/back/svn_backup and /home/back/trac_backup which are held for 14 days.&lt;br /&gt;
'''rsync_back''' rsyncs www.osgeo.org/home/back with test.osgeo.net/home/back (the second PEER1 server)&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11181</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11181"/>
		<updated>2007-01-31T20:35:03Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
&lt;br /&gt;
All iptables rules must be written in /etc/sysconfig/iptables-custom &lt;br /&gt;
&lt;br /&gt;
Current custom rules are:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/SSH&lt;br /&gt;
   *filter&lt;br /&gt;
   -A OUTPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/VERITAS&lt;br /&gt;
&lt;br /&gt;
''note: this file was placed here by PEER1''&lt;br /&gt;
   *filter&lt;br /&gt;
   -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT&lt;br /&gt;
   -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
[http://svnbook.red-bean.com/nightly/en/index.html Subversion Book]&lt;br /&gt;
=== Creating a repository ===&lt;br /&gt;
   $ sudo mkdir /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo svnadmin /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading a repository from a dumpfile ===&lt;br /&gt;
   $ sudo svnadmin load /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;lt; /path/to/dumpfile&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Dumping a repository ===&lt;br /&gt;
   $ sudo svnadmin dump /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;gt; dumpfile&lt;br /&gt;
&lt;br /&gt;
=== Recovering / unlocking repository ===&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TRAC Maintenance =&lt;br /&gt;
[http://trac.edgewall.org/wiki/TracGuide Trac Guide]&lt;br /&gt;
=== Creating a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/trac/&amp;lt;proj_name&amp;gt; initenv&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/trac/&amp;lt;proj_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hotcopy a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/html/trac/&amp;lt;proj_name&amp;gt; hotcopy /path/to/copy/trac/to&lt;br /&gt;
&lt;br /&gt;
= Mailman Maintenance =&lt;br /&gt;
=== create a new mailing list ===&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
=== renaming a list ===&lt;br /&gt;
 * create new list&lt;br /&gt;
   $sudo /usr/lib/mailman/bin/newlist listname admins@email lists_passwd&lt;br /&gt;
 * move original lists archive to newlists archive location&lt;br /&gt;
   $ sudo cp /var/lib/mailman/oldlist/oldlist.mbox/oldlist.mbox \&lt;br /&gt;
     /var/lib/mailman/newlist/newlist.mbox/&lt;br /&gt;
 * create archive&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/arch --wipe newlist&lt;br /&gt;
 * export subscribers from old list regular and digest members&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -r listname &amp;gt; listname-regular.txt&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/list_members -d listname &amp;gt; listname-digest.txt&lt;br /&gt;
 * import subscribers into new list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --regular-members=listname-regular.txt --welcome-msg=y listname&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/add_members --digest-members=listname-digest.txt --welcome-msg=y listname&lt;br /&gt;
 * remove old list&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/rmlist listname&lt;br /&gt;
 * update aliases and check that proper permissions are set&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/genaliases&lt;br /&gt;
   $ sudo /usr/lib/mailman/bin/check_perms -f&lt;br /&gt;
&lt;br /&gt;
= Backups = &lt;br /&gt;
&lt;br /&gt;
=== Daily tape backup ===&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
=== Other backups ===&lt;br /&gt;
==== Mysql ====&lt;br /&gt;
MySQL is being backed up using [http://mysqlbackup.zmanda.com MySQL-zrm]&lt;br /&gt;
==== current cron jobs for backups ====&lt;br /&gt;
/etc/cron.d/backup.cron&lt;br /&gt;
&lt;br /&gt;
   #### Backup cron jobs &lt;br /&gt;
   # min hour day month dayofweek user command&lt;br /&gt;
   #&lt;br /&gt;
   # Daily rsync to /home/back&lt;br /&gt;
   # /etc&lt;br /&gt;
   05 10 * * * root /usr/bin/rsync -a --delete /etc/ /home/back/etc/&lt;br /&gt;
   # /var/www/html&lt;br /&gt;
   08 10 * * * root /usr/bin/rsync -a --delete /var/www/html/ /home/back/html/&lt;br /&gt;
   # Every 3 hours &lt;br /&gt;
   # /var/lib/mailman&lt;br /&gt;
   20 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mailman/ /home/back/mailman/&lt;br /&gt;
   # /etc/mysql-zrm&lt;br /&gt;
   33 */3 * * * root /usr/bin/rsync -a --delete /etc/mysql-zrm/ /home/back/etc/mysql-zrm/&lt;br /&gt;
   # /var/lib/mysql-zrm&lt;br /&gt;
   34 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mysql-zrm/ /home/back/mysql-zrm/&lt;br /&gt;
   # call backup_trac_svn.sh to backup &lt;br /&gt;
   # subversion /var/www/svn/repos&lt;br /&gt;
   # trac /var/www/trac&lt;br /&gt;
   45 */3 * * * root /root/scripts/backup_trac_svn.sh&lt;br /&gt;
   # once a day rsync /home/back to osgeo2.osgeo.net&lt;br /&gt;
   0 22 * * * root /root/scripts/rsync_back.pl&lt;br /&gt;
&lt;br /&gt;
backup script are in /root/scripts&lt;br /&gt;
&lt;br /&gt;
'''backup_trac_svn.sh''' calls separate scripts to backup trac and svn repositories and place tgz files of the backups in /home/back/svn_backup and /home/back/trac_backup which are held for 14 days.&lt;br /&gt;
'''rsync_back''' rsyncs www.osgeo.org/home/back with test.osgeo.net/home/back (the second PEER1 server)&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11180</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11180"/>
		<updated>2007-01-31T20:08:26Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* Subversion maintanence */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
&lt;br /&gt;
All iptables rules must be written in /etc/sysconfig/iptables-custom &lt;br /&gt;
&lt;br /&gt;
Current custom rules are:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/SSH&lt;br /&gt;
   *filter&lt;br /&gt;
   -A OUTPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/VERITAS&lt;br /&gt;
&lt;br /&gt;
''note: this file was placed here by PEER1''&lt;br /&gt;
   *filter&lt;br /&gt;
   -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT&lt;br /&gt;
   -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
[http://svnbook.red-bean.com/nightly/en/index.html Subversion Book]&lt;br /&gt;
=== Creating a repository ===&lt;br /&gt;
   $ sudo mkdir /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo svnadmin /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading a repository from a dumpfile ===&lt;br /&gt;
   $ sudo svnadmin load /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;lt; /path/to/dumpfile&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Dumping a repository ===&lt;br /&gt;
   $ sudo svnadmin dump /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;gt; dumpfile&lt;br /&gt;
&lt;br /&gt;
=== Recovering / unlocking repository ===&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TRAC Maintenance =&lt;br /&gt;
[http://trac.edgewall.org/wiki/TracGuide Trac Guide]&lt;br /&gt;
=== Creating a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/trac/&amp;lt;proj_name&amp;gt; initenv&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/trac/&amp;lt;proj_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hotcopy a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/html/trac/&amp;lt;proj_name&amp;gt; hotcopy /path/to/copy/trac/to&lt;br /&gt;
&lt;br /&gt;
= Backups = &lt;br /&gt;
&lt;br /&gt;
=== Daily tape backup ===&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
=== Other backups ===&lt;br /&gt;
==== Mysql ====&lt;br /&gt;
MySQL is being backed up using [http://mysqlbackup.zmanda.com MySQL-zrm]&lt;br /&gt;
==== current cron jobs for backups ====&lt;br /&gt;
/etc/cron.d/backup.cron&lt;br /&gt;
&lt;br /&gt;
   #### Backup cron jobs &lt;br /&gt;
   # min hour day month dayofweek user command&lt;br /&gt;
   #&lt;br /&gt;
   # Daily rsync to /home/back&lt;br /&gt;
   # /etc&lt;br /&gt;
   05 10 * * * root /usr/bin/rsync -a --delete /etc/ /home/back/etc/&lt;br /&gt;
   # /var/www/html&lt;br /&gt;
   08 10 * * * root /usr/bin/rsync -a --delete /var/www/html/ /home/back/html/&lt;br /&gt;
   # Every 3 hours &lt;br /&gt;
   # /var/lib/mailman&lt;br /&gt;
   20 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mailman/ /home/back/mailman/&lt;br /&gt;
   # /etc/mysql-zrm&lt;br /&gt;
   33 */3 * * * root /usr/bin/rsync -a --delete /etc/mysql-zrm/ /home/back/etc/mysql-zrm/&lt;br /&gt;
   # /var/lib/mysql-zrm&lt;br /&gt;
   34 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mysql-zrm/ /home/back/mysql-zrm/&lt;br /&gt;
   # call backup_trac_svn.sh to backup &lt;br /&gt;
   # subversion /var/www/svn/repos&lt;br /&gt;
   # trac /var/www/trac&lt;br /&gt;
   45 */3 * * * root /root/scripts/backup_trac_svn.sh&lt;br /&gt;
   # once a day rsync /home/back to osgeo2.osgeo.net&lt;br /&gt;
   0 22 * * * root /root/scripts/rsync_back.pl&lt;br /&gt;
&lt;br /&gt;
backup script are in /root/scripts&lt;br /&gt;
&lt;br /&gt;
'''backup_trac_svn.sh''' calls separate scripts to backup trac and svn repositories and place tgz files of the backups in /home/back/svn_backup and /home/back/trac_backup which are held for 14 days.&lt;br /&gt;
'''rsync_back''' rsyncs www.osgeo.org/home/back with test.osgeo.net/home/back (the second PEER1 server)&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11179</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11179"/>
		<updated>2007-01-31T20:07:25Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
&lt;br /&gt;
All iptables rules must be written in /etc/sysconfig/iptables-custom &lt;br /&gt;
&lt;br /&gt;
Current custom rules are:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/SSH&lt;br /&gt;
   *filter&lt;br /&gt;
   -A OUTPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/VERITAS&lt;br /&gt;
&lt;br /&gt;
''note: this file was placed here by PEER1''&lt;br /&gt;
   *filter&lt;br /&gt;
   -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT&lt;br /&gt;
   -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
&lt;br /&gt;
=== Creating a repository ===&lt;br /&gt;
   $ sudo mkdir /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo svnadmin /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading a repository from a dumpfile ===&lt;br /&gt;
   $ sudo svnadmin load /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;lt; /path/to/dumpfile&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Dumping a repository ===&lt;br /&gt;
   $ sudo svnadmin dump /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;gt; dumpfile&lt;br /&gt;
&lt;br /&gt;
=== Recovering / unlocking repository ===&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= TRAC Maintenance =&lt;br /&gt;
[http://trac.edgewall.org/wiki/TracGuide Trac Guide]&lt;br /&gt;
=== Creating a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/trac/&amp;lt;proj_name&amp;gt; initenv&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/trac/&amp;lt;proj_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hotcopy a trac instance ===&lt;br /&gt;
   $ sudo trac-admin /var/www/html/trac/&amp;lt;proj_name&amp;gt; hotcopy /path/to/copy/trac/to&lt;br /&gt;
&lt;br /&gt;
= Backups = &lt;br /&gt;
&lt;br /&gt;
=== Daily tape backup ===&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
=== Other backups ===&lt;br /&gt;
==== Mysql ====&lt;br /&gt;
MySQL is being backed up using [http://mysqlbackup.zmanda.com MySQL-zrm]&lt;br /&gt;
==== current cron jobs for backups ====&lt;br /&gt;
/etc/cron.d/backup.cron&lt;br /&gt;
&lt;br /&gt;
   #### Backup cron jobs &lt;br /&gt;
   # min hour day month dayofweek user command&lt;br /&gt;
   #&lt;br /&gt;
   # Daily rsync to /home/back&lt;br /&gt;
   # /etc&lt;br /&gt;
   05 10 * * * root /usr/bin/rsync -a --delete /etc/ /home/back/etc/&lt;br /&gt;
   # /var/www/html&lt;br /&gt;
   08 10 * * * root /usr/bin/rsync -a --delete /var/www/html/ /home/back/html/&lt;br /&gt;
   # Every 3 hours &lt;br /&gt;
   # /var/lib/mailman&lt;br /&gt;
   20 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mailman/ /home/back/mailman/&lt;br /&gt;
   # /etc/mysql-zrm&lt;br /&gt;
   33 */3 * * * root /usr/bin/rsync -a --delete /etc/mysql-zrm/ /home/back/etc/mysql-zrm/&lt;br /&gt;
   # /var/lib/mysql-zrm&lt;br /&gt;
   34 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mysql-zrm/ /home/back/mysql-zrm/&lt;br /&gt;
   # call backup_trac_svn.sh to backup &lt;br /&gt;
   # subversion /var/www/svn/repos&lt;br /&gt;
   # trac /var/www/trac&lt;br /&gt;
   45 */3 * * * root /root/scripts/backup_trac_svn.sh&lt;br /&gt;
   # once a day rsync /home/back to osgeo2.osgeo.net&lt;br /&gt;
   0 22 * * * root /root/scripts/rsync_back.pl&lt;br /&gt;
&lt;br /&gt;
backup script are in /root/scripts&lt;br /&gt;
&lt;br /&gt;
'''backup_trac_svn.sh''' calls separate scripts to backup trac and svn repositories and place tgz files of the backups in /home/back/svn_backup and /home/back/trac_backup which are held for 14 days.&lt;br /&gt;
'''rsync_back''' rsyncs www.osgeo.org/home/back with test.osgeo.net/home/back (the second PEER1 server)&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11178</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11178"/>
		<updated>2007-01-31T19:44:47Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
&lt;br /&gt;
All iptables rules must be written in /etc/sysconfig/iptables-custom &lt;br /&gt;
&lt;br /&gt;
Current custom rules are:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/SSH&lt;br /&gt;
   *filter&lt;br /&gt;
   -A OUTPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/VERITAS&lt;br /&gt;
&lt;br /&gt;
''note: this file was placed here by PEER1''&lt;br /&gt;
   *filter&lt;br /&gt;
   -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT&lt;br /&gt;
   -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
&lt;br /&gt;
=== Creating a repository ===&lt;br /&gt;
   $ sudo mkdir /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo svnadmin /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading a repository from a dumpfile ===&lt;br /&gt;
   $ sudo svnadmin load /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;lt; /path/to/dumpfile&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Dumping a repository ===&lt;br /&gt;
   $ sudo svnadmin dump /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;gt; dumpfile&lt;br /&gt;
&lt;br /&gt;
=== Recovering / unlocking repository ===&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backups = &lt;br /&gt;
&lt;br /&gt;
=== Daily tape backup ===&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
=== Other backups ===&lt;br /&gt;
==== Mysql ====&lt;br /&gt;
MySQL is being backed up using [http://mysqlbackup.zmanda.com MySQL-zrm]&lt;br /&gt;
&lt;br /&gt;
==== subversion backups ====&lt;br /&gt;
via svnadmin dump to /home/back/svn_dump/ (every 3 hours)&lt;br /&gt;
==== trac backups ====&lt;br /&gt;
via trac-admin hotcopy to /home/back/trac_copy/ (every 3 hours)&lt;br /&gt;
==== current cron jobs for backups ====&lt;br /&gt;
/etc/cron.d/backup.cron&lt;br /&gt;
&lt;br /&gt;
   #### Backup cron jobs &lt;br /&gt;
   # min hour day month dayofweek user command&lt;br /&gt;
   #&lt;br /&gt;
   # Daily rsync to /home/back&lt;br /&gt;
   # /etc&lt;br /&gt;
   05 10 * * * root /usr/bin/rsync -a --delete /etc/ /home/back/etc/&lt;br /&gt;
   # /var/www/html&lt;br /&gt;
   08 10 * * * root /usr/bin/rsync -a --delete /var/www/html/ /home/back/html/&lt;br /&gt;
   # Every 3 hours &lt;br /&gt;
   # /var/lib/mailman&lt;br /&gt;
   20 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mailman/ /home/back/mailman/&lt;br /&gt;
   # /etc/mysql-zrm&lt;br /&gt;
   33 */3 * * * root /usr/bin/rsync -a --delete /etc/mysql-zrm/ /home/back/etc/mysql-zrm/&lt;br /&gt;
   # /var/lib/mysql-zrm&lt;br /&gt;
   34 */3 * * * root /usr/bin/rsync -a --delete /var/lib/mysql-zrm/ /home/back/mysql-zrm/&lt;br /&gt;
   # call backup_trac_svn.sh to backup &lt;br /&gt;
   # subversion /var/www/svn/repos&lt;br /&gt;
   # trac /var/www/trac&lt;br /&gt;
   45 */3 * * * root /root/scripts/backup_trac_svn.sh&lt;br /&gt;
   # once a day rsync /home/back to osgeo2.osgeo.net&lt;br /&gt;
   0 22 * * * root /root/scripts/rsync_back.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Implementation of our virtual hosts policy and transition issues =&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11177</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11177"/>
		<updated>2007-01-31T19:40:58Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* Backups (offsite, live, and otherwise) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
&lt;br /&gt;
All iptables rules must be written in /etc/sysconfig/iptables-custom &lt;br /&gt;
&lt;br /&gt;
Current custom rules are:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/SSH&lt;br /&gt;
   *filter&lt;br /&gt;
   -A OUTPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/VERITAS&lt;br /&gt;
&lt;br /&gt;
''note: this file was placed here by PEER1''&lt;br /&gt;
   *filter&lt;br /&gt;
   -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT&lt;br /&gt;
   -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
&lt;br /&gt;
=== Creating a repository ===&lt;br /&gt;
   $ sudo mkdir /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo svnadmin /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading a repository from a dumpfile ===&lt;br /&gt;
   $ sudo svnadmin load /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;lt; /path/to/dumpfile&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Dumping a repository ===&lt;br /&gt;
   $ sudo svnadmin dump /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;gt; dumpfile&lt;br /&gt;
&lt;br /&gt;
=== Recovering / unlocking repository ===&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backups = &lt;br /&gt;
&lt;br /&gt;
=== Daily tape backup ===&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
=== Other backups ===&lt;br /&gt;
==== Mysql ====&lt;br /&gt;
MySQL is being backed up using [http://mysqlbackup.zmanda.com MySQL-zrm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== subversion backups ====&lt;br /&gt;
via svnadmin dump to /home/back/svn_dump/ (every 3 hours)&lt;br /&gt;
==== trac backups ====&lt;br /&gt;
via trac-admin hotcopy to /home/back/trac_copy/ (every 3 hours)&lt;br /&gt;
==== current crontab for backups&lt;br /&gt;
&lt;br /&gt;
= Implementation of our virtual hosts policy and transition issues =&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11176</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11176"/>
		<updated>2007-01-31T19:32:42Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* Subversion maintanence */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
&lt;br /&gt;
All iptables rules must be written in /etc/sysconfig/iptables-custom &lt;br /&gt;
&lt;br /&gt;
Current custom rules are:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/SSH&lt;br /&gt;
   *filter&lt;br /&gt;
   -A OUTPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/VERITAS&lt;br /&gt;
&lt;br /&gt;
''note: this file was placed here by PEER1''&lt;br /&gt;
   *filter&lt;br /&gt;
   -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT&lt;br /&gt;
   -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
&lt;br /&gt;
=== Creating a repository ===&lt;br /&gt;
   $ sudo mkdir /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo svnadmin /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Loading a repository from a dumpfile ===&lt;br /&gt;
   $ sudo svnadmin load /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;lt; /path/to/dumpfile&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Dumping a repository ===&lt;br /&gt;
   $ sudo svnadmin dump /var/www/svn/repos/&amp;lt;repo_name&amp;gt; &amp;gt; dumpfile&lt;br /&gt;
&lt;br /&gt;
=== Recovering / unlocking repository ===&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Backups (offsite, live, and otherwise) = &lt;br /&gt;
&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
== Other backups ==&lt;br /&gt;
* MySQL being backed up every 2 hours with MySQL-zrm&lt;br /&gt;
	* rsync backups, to /home/back then rsynced daily to other server&lt;br /&gt;
(osgeo.net)&lt;br /&gt;
	      /etc/ (daily)&lt;br /&gt;
	      /var/www/html (daily)&lt;br /&gt;
		  /var/lib/mailman (every 3 hours)&lt;br /&gt;
          /var/lib/msql-zrm (every 3 hours)&lt;br /&gt;
* subversion backups&lt;br /&gt;
	      -via svnadmin dump to /home/back/svn_dump/ (every 3 hours)&lt;br /&gt;
* trac backups&lt;br /&gt;
	      -via trac-admin hotcopy to /home/back/trac_copy/ (every 3 hours)&lt;br /&gt;
&lt;br /&gt;
= Implementation of our virtual hosts policy and transition issues =&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11175</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11175"/>
		<updated>2007-01-31T19:27:18Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* IP tables custom */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
&lt;br /&gt;
All iptables rules must be written in /etc/sysconfig/iptables-custom &lt;br /&gt;
&lt;br /&gt;
Current custom rules are:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/SSH&lt;br /&gt;
   *filter&lt;br /&gt;
   -A OUTPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/VERITAS&lt;br /&gt;
&lt;br /&gt;
''note: this file was placed here by PEER1''&lt;br /&gt;
   *filter&lt;br /&gt;
   -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT&lt;br /&gt;
   -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Backups (offsite, live, and otherwise) = &lt;br /&gt;
&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
== Other backups ==&lt;br /&gt;
* MySQL being backed up every 2 hours with MySQL-zrm&lt;br /&gt;
	* rsync backups, to /home/back then rsynced daily to other server&lt;br /&gt;
(osgeo.net)&lt;br /&gt;
	      /etc/ (daily)&lt;br /&gt;
	      /var/www/html (daily)&lt;br /&gt;
		  /var/lib/mailman (every 3 hours)&lt;br /&gt;
          /var/lib/msql-zrm (every 3 hours)&lt;br /&gt;
* subversion backups&lt;br /&gt;
	      -via svnadmin dump to /home/back/svn_dump/ (every 3 hours)&lt;br /&gt;
* trac backups&lt;br /&gt;
	      -via trac-admin hotcopy to /home/back/trac_copy/ (every 3 hours)&lt;br /&gt;
&lt;br /&gt;
= Implementation of our virtual hosts policy and transition issues =&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11174</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11174"/>
		<updated>2007-01-31T19:27:03Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* IP tables custom */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
&lt;br /&gt;
All iptables rules must be written in /etc/sysconfig/iptables-custom &lt;br /&gt;
&lt;br /&gt;
Current custom rules are:&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/SSH&lt;br /&gt;
   *filter&lt;br /&gt;
   -A OUTPUT -p tcp --dport 22 -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/iptables-custom/VERITAS&lt;br /&gt;
''note: this file was placed here by PEER1''&lt;br /&gt;
   *filter&lt;br /&gt;
   -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT&lt;br /&gt;
   -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT&lt;br /&gt;
   COMMIT&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Backups (offsite, live, and otherwise) = &lt;br /&gt;
&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
== Other backups ==&lt;br /&gt;
* MySQL being backed up every 2 hours with MySQL-zrm&lt;br /&gt;
	* rsync backups, to /home/back then rsynced daily to other server&lt;br /&gt;
(osgeo.net)&lt;br /&gt;
	      /etc/ (daily)&lt;br /&gt;
	      /var/www/html (daily)&lt;br /&gt;
		  /var/lib/mailman (every 3 hours)&lt;br /&gt;
          /var/lib/msql-zrm (every 3 hours)&lt;br /&gt;
* subversion backups&lt;br /&gt;
	      -via svnadmin dump to /home/back/svn_dump/ (every 3 hours)&lt;br /&gt;
* trac backups&lt;br /&gt;
	      -via trac-admin hotcopy to /home/back/trac_copy/ (every 3 hours)&lt;br /&gt;
&lt;br /&gt;
= Implementation of our virtual hosts policy and transition issues =&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11173</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11173"/>
		<updated>2007-01-31T19:17:25Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Paths to services directories =&lt;br /&gt;
&lt;br /&gt;
'''Apache root directory'''&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
'''Subversion parent directory'''&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
'''Trac parent directory'''&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
rules must be written here or won't exist when system updated&lt;br /&gt;
   /etc/sysconfig/iptables-custom/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Backups (offsite, live, and otherwise) = &lt;br /&gt;
&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
== Other backups ==&lt;br /&gt;
* MySQL being backed up every 2 hours with MySQL-zrm&lt;br /&gt;
	* rsync backups, to /home/back then rsynced daily to other server&lt;br /&gt;
(osgeo.net)&lt;br /&gt;
	      /etc/ (daily)&lt;br /&gt;
	      /var/www/html (daily)&lt;br /&gt;
		  /var/lib/mailman (every 3 hours)&lt;br /&gt;
          /var/lib/msql-zrm (every 3 hours)&lt;br /&gt;
* subversion backups&lt;br /&gt;
	      -via svnadmin dump to /home/back/svn_dump/ (every 3 hours)&lt;br /&gt;
* trac backups&lt;br /&gt;
	      -via trac-admin hotcopy to /home/back/trac_copy/ (every 3 hours)&lt;br /&gt;
&lt;br /&gt;
= Implementation of our virtual hosts policy and transition issues =&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11172</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11172"/>
		<updated>2007-01-31T19:15:07Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* Authorization and authentication for OSGeo services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Apache =&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
= Subversion =&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
= Trac =&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
rules must be written here or won't exist when system updated&lt;br /&gt;
   /etc/sysconfig/iptables-custom/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Backups (offsite, live, and otherwise) = &lt;br /&gt;
&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
== Other backups ==&lt;br /&gt;
* MySQL being backed up every 2 hours with MySQL-zrm&lt;br /&gt;
	* rsync backups, to /home/back then rsynced daily to other server&lt;br /&gt;
(osgeo.net)&lt;br /&gt;
	      /etc/ (daily)&lt;br /&gt;
	      /var/www/html (daily)&lt;br /&gt;
		  /var/lib/mailman (every 3 hours)&lt;br /&gt;
          /var/lib/msql-zrm (every 3 hours)&lt;br /&gt;
* subversion backups&lt;br /&gt;
	      -via svnadmin dump to /home/back/svn_dump/ (every 3 hours)&lt;br /&gt;
* trac backups&lt;br /&gt;
	      -via trac-admin hotcopy to /home/back/trac_copy/ (every 3 hours)&lt;br /&gt;
&lt;br /&gt;
= Implementation of our virtual hosts policy and transition issues =&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11171</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11171"/>
		<updated>2007-01-31T19:14:45Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* Subversion maintanence */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Apache =&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
= Subversion =&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
= Trac =&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
rules must be written here or won't exist when system updated&lt;br /&gt;
   /etc/sysconfig/iptables-custom/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
Subversion was upgraded to version 1.4.3 (30 Jan. 2007) to reduce the repository locking problem if ctl-c used to end a checkout.&lt;br /&gt;
&lt;br /&gt;
If the repository locks the following command should be used to recover the repository:&lt;br /&gt;
&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In most cases this will work in the odd case that you are waiting a very long time for the command to run then apache may have to be restarted to drop anything accessing the repository and preventing the repository from being recovered&lt;br /&gt;
&lt;br /&gt;
   $ sudo /sbin/service httpd restart&lt;br /&gt;
   $ sudo svnadmin --wait recover /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
   $ sudo chown -R apache:apache /var/www/svn/repos/&amp;lt;repo_name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Authorization and authentication for OSGeo services =&lt;br /&gt;
&lt;br /&gt;
= Backups (offsite, live, and otherwise) = &lt;br /&gt;
&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
== Other backups ==&lt;br /&gt;
* MySQL being backed up every 2 hours with MySQL-zrm&lt;br /&gt;
	* rsync backups, to /home/back then rsynced daily to other server&lt;br /&gt;
(osgeo.net)&lt;br /&gt;
	      /etc/ (daily)&lt;br /&gt;
	      /var/www/html (daily)&lt;br /&gt;
		  /var/lib/mailman (every 3 hours)&lt;br /&gt;
          /var/lib/msql-zrm (every 3 hours)&lt;br /&gt;
* subversion backups&lt;br /&gt;
	      -via svnadmin dump to /home/back/svn_dump/ (every 3 hours)&lt;br /&gt;
* trac backups&lt;br /&gt;
	      -via trac-admin hotcopy to /home/back/trac_copy/ (every 3 hours)&lt;br /&gt;
&lt;br /&gt;
= Implementation of our virtual hosts policy and transition issues =&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11170</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11170"/>
		<updated>2007-01-31T19:07:53Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* System login and maintenance procedures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Apache =&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
= Subversion =&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
= Trac =&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
rules must be written here or won't exist when system updated&lt;br /&gt;
   /etc/sysconfig/iptables-custom/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password for backup/restore and tickets.  i would refer no root ssh login but, PEER1 admins need root access.'''&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
= Authorization and authentication for OSGeo services =&lt;br /&gt;
&lt;br /&gt;
= Backups (offsite, live, and otherwise) = &lt;br /&gt;
&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
== Other backups ==&lt;br /&gt;
* MySQL being backed up every 2 hours with MySQL-zrm&lt;br /&gt;
	* rsync backups, to /home/back then rsynced daily to other server&lt;br /&gt;
(osgeo.net)&lt;br /&gt;
	      /etc/ (daily)&lt;br /&gt;
	      /var/www/html (daily)&lt;br /&gt;
		  /var/lib/mailman (every 3 hours)&lt;br /&gt;
          /var/lib/msql-zrm (every 3 hours)&lt;br /&gt;
* subversion backups&lt;br /&gt;
	      -via svnadmin dump to /home/back/svn_dump/ (every 3 hours)&lt;br /&gt;
* trac backups&lt;br /&gt;
	      -via trac-admin hotcopy to /home/back/trac_copy/ (every 3 hours)&lt;br /&gt;
&lt;br /&gt;
= Implementation of our virtual hosts policy and transition issues =&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11169</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11169"/>
		<updated>2007-01-31T19:07:11Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* System login and maintenance procedures */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Apache =&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
= Subversion =&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
= Trac =&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
rules must be written here or won't exist when system updated&lt;br /&gt;
   /etc/sysconfig/iptables-custom/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
'''Note: if change root password must let PEER1 know the new password&lt;br /&gt;
for backup/restore and tickets.  i would prefer no root ssh login but,&lt;br /&gt;
PEER1 needs root access.'''&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
= Authorization and authentication for OSGeo services =&lt;br /&gt;
&lt;br /&gt;
= Backups (offsite, live, and otherwise) = &lt;br /&gt;
&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
== Other backups ==&lt;br /&gt;
* MySQL being backed up every 2 hours with MySQL-zrm&lt;br /&gt;
	* rsync backups, to /home/back then rsynced daily to other server&lt;br /&gt;
(osgeo.net)&lt;br /&gt;
	      /etc/ (daily)&lt;br /&gt;
	      /var/www/html (daily)&lt;br /&gt;
		  /var/lib/mailman (every 3 hours)&lt;br /&gt;
          /var/lib/msql-zrm (every 3 hours)&lt;br /&gt;
* subversion backups&lt;br /&gt;
	      -via svnadmin dump to /home/back/svn_dump/ (every 3 hours)&lt;br /&gt;
* trac backups&lt;br /&gt;
	      -via trac-admin hotcopy to /home/back/trac_copy/ (every 3 hours)&lt;br /&gt;
&lt;br /&gt;
= Implementation of our virtual hosts policy and transition issues =&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11168</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11168"/>
		<updated>2007-01-31T19:05:49Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* Red Hat EL 4 rpms installed manually (rpm -i) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
* subversion-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Apache =&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
= Subversion =&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
= Trac =&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
rules must be written here or won't exist when system updated&lt;br /&gt;
   /etc/sysconfig/iptables-custom/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
-- Note: if change root password must let PEER1 know the new password&lt;br /&gt;
for backup/restore and tickets.  i would prefer no root ssh login but,&lt;br /&gt;
PEER1 needs root access.&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
= Authorization and authentication for OSGeo services =&lt;br /&gt;
&lt;br /&gt;
= Backups (offsite, live, and otherwise) = &lt;br /&gt;
&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
== Other backups ==&lt;br /&gt;
* MySQL being backed up every 2 hours with MySQL-zrm&lt;br /&gt;
	* rsync backups, to /home/back then rsynced daily to other server&lt;br /&gt;
(osgeo.net)&lt;br /&gt;
	      /etc/ (daily)&lt;br /&gt;
	      /var/www/html (daily)&lt;br /&gt;
		  /var/lib/mailman (every 3 hours)&lt;br /&gt;
          /var/lib/msql-zrm (every 3 hours)&lt;br /&gt;
* subversion backups&lt;br /&gt;
	      -via svnadmin dump to /home/back/svn_dump/ (every 3 hours)&lt;br /&gt;
* trac backups&lt;br /&gt;
	      -via trac-admin hotcopy to /home/back/trac_copy/ (every 3 hours)&lt;br /&gt;
&lt;br /&gt;
= Implementation of our virtual hosts policy and transition issues =&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11167</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11167"/>
		<updated>2007-01-31T19:03:25Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* Installed software using up2date */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Apache =&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
= Subversion =&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
= Trac =&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
rules must be written here or won't exist when system updated&lt;br /&gt;
   /etc/sysconfig/iptables-custom/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
-- Note: if change root password must let PEER1 know the new password&lt;br /&gt;
for backup/restore and tickets.  i would prefer no root ssh login but,&lt;br /&gt;
PEER1 needs root access.&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
= Authorization and authentication for OSGeo services =&lt;br /&gt;
&lt;br /&gt;
= Backups (offsite, live, and otherwise) = &lt;br /&gt;
&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
== Other backups ==&lt;br /&gt;
* MySQL being backed up every 2 hours with MySQL-zrm&lt;br /&gt;
	* rsync backups, to /home/back then rsynced daily to other server&lt;br /&gt;
(osgeo.net)&lt;br /&gt;
	      /etc/ (daily)&lt;br /&gt;
	      /var/www/html (daily)&lt;br /&gt;
		  /var/lib/mailman (every 3 hours)&lt;br /&gt;
          /var/lib/msql-zrm (every 3 hours)&lt;br /&gt;
* subversion backups&lt;br /&gt;
	      -via svnadmin dump to /home/back/svn_dump/ (every 3 hours)&lt;br /&gt;
* trac backups&lt;br /&gt;
	      -via trac-admin hotcopy to /home/back/trac_copy/ (every 3 hours)&lt;br /&gt;
&lt;br /&gt;
= Implementation of our virtual hosts policy and transition issues =&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11166</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11166"/>
		<updated>2007-01-31T18:09:05Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* FDO Repository Merge */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* subversion - subversion-1.1.4-2.ent.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Apache =&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
= Subversion =&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
= Trac =&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
rules must be written here or won't exist when system updated&lt;br /&gt;
   /etc/sysconfig/iptables-custom/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
-- Note: if change root password must let PEER1 know the new password&lt;br /&gt;
for backup/restore and tickets.  i would prefer no root ssh login but,&lt;br /&gt;
PEER1 needs root access.&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
= Authorization and authentication for OSGeo services =&lt;br /&gt;
&lt;br /&gt;
= Backups (offsite, live, and otherwise) = &lt;br /&gt;
&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
== Other backups ==&lt;br /&gt;
* MySQL being backed up every 2 hours with MySQL-zrm&lt;br /&gt;
	* rsync backups, to /home/back then rsynced daily to other server&lt;br /&gt;
(osgeo.net)&lt;br /&gt;
	      /etc/ (daily)&lt;br /&gt;
	      /var/www/html (daily)&lt;br /&gt;
		  /var/lib/mailman (every 3 hours)&lt;br /&gt;
          /var/lib/msql-zrm (every 3 hours)&lt;br /&gt;
* subversion backups&lt;br /&gt;
	      -via svnadmin dump to /home/back/svn_dump/ (every 3 hours)&lt;br /&gt;
* trac backups&lt;br /&gt;
	      -via trac-admin hotcopy to /home/back/trac_copy/ (every 3 hours)&lt;br /&gt;
&lt;br /&gt;
= Implementation of our virtual hosts policy and transition issues =&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
To merge repositories you need to parse through the dumpfiles.&lt;br /&gt;
&lt;br /&gt;
In the fdo merge all subprojects had the same directory strucuture,&lt;br /&gt;
/trunk/Providers/&lt;br /&gt;
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
 Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This process followed for all repositories&lt;br /&gt;
&lt;br /&gt;
'''merge fdogdal trunk'''&lt;br /&gt;
&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
  $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
Rename index.html to fdogdal-index.html&lt;br /&gt;
  $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
  $ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11120</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11120"/>
		<updated>2007-01-30T14:51:53Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* subversion - subversion-1.1.4-2.ent.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Apache =&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
= Subversion =&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
= Trac =&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
rules must be written here or won't exist when system updated&lt;br /&gt;
   /etc/sysconfig/iptables-custom/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
-- Note: if change root password must let PEER1 know the new password&lt;br /&gt;
for backup/restore and tickets.  i would prefer no root ssh login but,&lt;br /&gt;
PEER1 needs root access.&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
= Authorization and authentication for OSGeo services =&lt;br /&gt;
&lt;br /&gt;
= Backups (offsite, live, and otherwise) = &lt;br /&gt;
&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
== Other backups ==&lt;br /&gt;
* MySQL being backed up every 2 hours with MySQL-zrm&lt;br /&gt;
	* rsync backups, to /home/back then rsynced daily to other server&lt;br /&gt;
(osgeo.net)&lt;br /&gt;
	      /etc/ (daily)&lt;br /&gt;
	      /var/www/html (daily)&lt;br /&gt;
		  /var/lib/mailman (every 3 hours)&lt;br /&gt;
          /var/lib/msql-zrm (every 3 hours)&lt;br /&gt;
* subversion backups&lt;br /&gt;
	      -via svnadmin dump to /home/back/svn_dump/ (every 3 hours)&lt;br /&gt;
* trac backups&lt;br /&gt;
	      -via trac-admin hotcopy to /home/back/trac_copy/ (every 3 hours)&lt;br /&gt;
&lt;br /&gt;
= Implementation of our virtual hosts policy and transition issues =&lt;br /&gt;
&lt;br /&gt;
= FDO Repository Merge =&lt;br /&gt;
&lt;br /&gt;
SVNDUMPFILTER&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter include --help&lt;br /&gt;
Filter out nodes without given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter include PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
$ svndumpfilter exclude --help&lt;br /&gt;
Filter out nodes with given prefixes from dumpstream&lt;br /&gt;
Usage: svndumpfilter exclude PATH_PREFIX&lt;br /&gt;
Options:&lt;br /&gt;
--drop-empty-revs		Remove revisions emptied by filtering&lt;br /&gt;
--renumber-revs			Renumbe revisions left after filtering&lt;br /&gt;
--preserve-revprops		Don't filter revision properties&lt;br /&gt;
--quiet					Do not display filtering statistics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
example:&lt;br /&gt;
&lt;br /&gt;
$ cat fdoogr.dmp | svndumpfilter include trunk/Provider/OGR &amp;gt; fdoogr-merge.dmp&lt;br /&gt;
&lt;br /&gt;
Node-path: trunk/www&lt;br /&gt;
&lt;br /&gt;
-----Filter and merging into fdocore--------&lt;br /&gt;
&lt;br /&gt;
---merge fdo trunk&lt;br /&gt;
&lt;br /&gt;
---filter out trunk only&lt;br /&gt;
$ cat fdo.dmp | svndumpfilter inclue trunk &amp;gt; fdo-merge-trunk-www.dmp&lt;br /&gt;
&lt;br /&gt;
---search and replace trunk with fdo&lt;br /&gt;
$ perl -pi.bak2 -e 's/^Node-path:\ trunk/Node-path:\ fdo/' fdo-merge-trunk-www.dmp&lt;br /&gt;
&lt;br /&gt;
---load fdo's trunk now named fdo into fdocore&lt;br /&gt;
$ sudo svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdo-merge-trunk-www.dmp&lt;br /&gt;
$ sudo chown -R apache:apache /var/www/svn/repos&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------&lt;br /&gt;
---------------------------------------------------------------------------&lt;br /&gt;
--------------  fdo merge &lt;br /&gt;
&lt;br /&gt;
Files Renamed:&lt;br /&gt;
  fdo/trunk/www/index.html to fdo-index.html&lt;br /&gt;
&lt;br /&gt;
Merge locations:&lt;br /&gt;
  fdo/trunk/www to fdocore/trunk/www&lt;br /&gt;
&lt;br /&gt;
-----merge fdo/trunk/www&lt;br /&gt;
&lt;br /&gt;
$ cat fdo.dmp | svndumpfilter include trunk/www &amp;gt; fdo-merge-trunk-www.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/www&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
$ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\&lt;br /&gt;
trunk\/www\/fdo-index.html/g' fdo-merge-trunk-www.dmp&lt;br /&gt;
&lt;br /&gt;
$ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdo-merge-trunk-www.dmp&lt;br /&gt;
&lt;br /&gt;
-----merge fdogdal trunk&lt;br /&gt;
Files Renamed:&lt;br /&gt;
  fdogdal/trunk/www/index.html to fdogdal-index.html&lt;br /&gt;
&lt;br /&gt;
Merge locations:&lt;br /&gt;
  fdogdal/trunk/www to fdocore/trunk/www&lt;br /&gt;
  fdogdal/trunk/Providers to fdocore/trunk/Providers&lt;br /&gt;
&lt;br /&gt;
$ cat fdogdal.dmp | svndumpfilter include trunk/www/ &amp;gt; fdogdal-merge-trunk.www.dmp&lt;br /&gt;
$ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ &amp;gt; fdogdal-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
$ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\&lt;br /&gt;
trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
$ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdogdal-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
-----merge fdoogr trunk&lt;br /&gt;
Files Renamed:&lt;br /&gt;
  fdoogr/trunk/www/index.html to fdoogr-index.html&lt;br /&gt;
&lt;br /&gt;
Merge locations:&lt;br /&gt;
  fdoogr/trunk/www to fdocore/trunk/www&lt;br /&gt;
  fdoogr/trunk/Providers to fdocore/trunk/Providers&lt;br /&gt;
&lt;br /&gt;
$ cat fdoogr.dmp | svndumpfilter include trunk/www/ &amp;gt; fdoogr-merge-trunk.www.dmp&lt;br /&gt;
$ cat fdoogr.dmp | svndumpfilter include trunk/Providers/OGR &amp;gt; fdoogr-merge-trunk.Providers.GDAL.dmp&lt;br /&gt;
&lt;br /&gt;
edit file and remove lines,&lt;br /&gt;
   Node-path: trunk/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/www/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
   Node-path: trunk/Providers/&lt;br /&gt;
   ....&lt;br /&gt;
   Node-action: add&lt;br /&gt;
   ....&lt;br /&gt;
   PROPS-END&lt;br /&gt;
&lt;br /&gt;
$ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\&lt;br /&gt;
trunk\/www\/fdoogr-index.html/g' fdo-merge.trunk.dmp&lt;br /&gt;
&lt;br /&gt;
$ svnadmin load /var/www/svn/repos/fdocore &amp;lt; fdoogr-merge.trunk.dmp&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11108</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11108"/>
		<updated>2007-01-29T19:20:57Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* Sandbox Page for osgeo.org transition docs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Sandbox Page for osgeo.org transition docs ==&lt;br /&gt;
&lt;br /&gt;
= Description of current layout and installed software =&lt;br /&gt;
&lt;br /&gt;
Notes from Shawn on our PEER1 system:&lt;br /&gt;
&lt;br /&gt;
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)&lt;br /&gt;
* For most elements of system i tried to stay with the default redhat locations and red hat el 4 rpms installed from peer 1's up2date repository. Reasoning, the servers are updated automatically against this repository and supported by PEER1 - reduce sysadmin load on keeping packages updated by using packages not available through PEER1 repository&lt;br /&gt;
&lt;br /&gt;
== Installed software using up2date ==&lt;br /&gt;
* apache - httpd-2.0.52-28.ent.i386&lt;br /&gt;
* postfix - postfix-2.2.10-1.RHEL4.2.i386&lt;br /&gt;
* php - php-4.3.9-3.22PIDH.i386&lt;br /&gt;
* python - python-2.3.4-14.3.i386&lt;br /&gt;
* subversion - subversion-1.1.4-2.ent.i386&lt;br /&gt;
* mailman - mailman-2.1.5.1-34.rhel4.5.i386&lt;br /&gt;
&lt;br /&gt;
== Red Hat EL 4 rpms installed manually (rpm -i) ==&lt;br /&gt;
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm&lt;br /&gt;
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* sqlite-2.8.16-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm&lt;br /&gt;
* python-sqlite-1.0.1-12.el4.rf.i386.rpm&lt;br /&gt;
&lt;br /&gt;
== Not specific to Red Hat EL 4 rpms installed manually ==&lt;br /&gt;
* MySQL-zrm-1.1.2-1.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
== Source Install ==&lt;br /&gt;
* drupal-4.7.4.tar.gz&lt;br /&gt;
* phpldapadmin-0.9.8.3.tar.gz&lt;br /&gt;
* trac-0.10.3.tar.gz&lt;br /&gt;
&lt;br /&gt;
= Apache =&lt;br /&gt;
    /var/www/html/&lt;br /&gt;
&lt;br /&gt;
= Subversion =&lt;br /&gt;
    /var/www/svn/repos/&lt;br /&gt;
&lt;br /&gt;
= Trac =&lt;br /&gt;
   /var/www/trac/&lt;br /&gt;
&lt;br /&gt;
= IP tables custom =&lt;br /&gt;
rules must be written here or won't exist when system updated&lt;br /&gt;
   /etc/sysconfig/iptables-custom/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= System login and maintenance procedures =&lt;br /&gt;
&lt;br /&gt;
-- Note: if change root password must let PEER1 know the new password&lt;br /&gt;
for backup/restore and tickets.  i would prefer no root ssh login but,&lt;br /&gt;
PEER1 needs root access.&lt;br /&gt;
&lt;br /&gt;
= Subversion maintanence =&lt;br /&gt;
* subversion may lock if user ctl-c during checkout or checkout is interupted with an apache restart&lt;br /&gt;
* Need policy on who to contact and who can run 'svnadmin recover' as&lt;br /&gt;
priviledged access is needed (may need to stop/start apache to drop&lt;br /&gt;
requests to repository before recover)&lt;br /&gt;
&lt;br /&gt;
= Authorization and authentication for OSGeo services =&lt;br /&gt;
&lt;br /&gt;
= Backups (offsite, live, and otherwise) = &lt;br /&gt;
&lt;br /&gt;
* PEER1 is doing daily tape backup of entire system&lt;br /&gt;
&lt;br /&gt;
== Other backups ==&lt;br /&gt;
* MySQL being backed up every 2 hours with MySQL-zrm&lt;br /&gt;
	* rsync backups, to /home/back then rsynced daily to other server&lt;br /&gt;
(osgeo.net)&lt;br /&gt;
	      /etc/ (daily)&lt;br /&gt;
	      /var/www/html (daily)&lt;br /&gt;
		  /var/lib/mailman (every 3 hours)&lt;br /&gt;
          /var/lib/msql-zrm (every 3 hours)&lt;br /&gt;
* subversion backups&lt;br /&gt;
	      -via svnadmin dump to /home/back/svn_dump/ (every 3 hours)&lt;br /&gt;
* trac backups&lt;br /&gt;
	      -via trac-admin hotcopy to /home/back/trac_copy/ (every 3 hours)&lt;br /&gt;
&lt;br /&gt;
= Implementation of our virtual hosts policy and transition issues =&lt;br /&gt;
&lt;br /&gt;
= Other =&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11102</id>
		<title>User:Sbarnes</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=User:Sbarnes&amp;diff=11102"/>
		<updated>2007-01-29T15:53:07Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Sandbox Page for osgeo.org transition docs ==&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
	<entry>
		<id>https://wiki.osgeo.org/w/index.php?title=Migration_Tasks_and_Milestones&amp;diff=9699</id>
		<title>Migration Tasks and Milestones</title>
		<link rel="alternate" type="text/html" href="https://wiki.osgeo.org/w/index.php?title=Migration_Tasks_and_Milestones&amp;diff=9699"/>
		<updated>2006-11-24T14:20:27Z</updated>

		<summary type="html">&lt;p&gt;Wiki-Sbarnes: /* Install and Configure Key Services  [12/08/06] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is intended to describe the tasks and milestones for the Infrastructure Migration project. We'll also use this to track status as we move toward our end of December deadline.&lt;br /&gt;
&lt;br /&gt;
== Servers online at PEER1 [12/01/06] ==&lt;br /&gt;
* Negotiate and Sign Contract with PEER1 [Tyler]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arrange Dump of CollabNet Databases [12/01/06] ==&lt;br /&gt;
Arrange with CollabNet (Geoff)&lt;br /&gt;
&lt;br /&gt;
High priority:&lt;br /&gt;
User database,&lt;br /&gt;
Maillist and archives,&lt;br /&gt;
SVN including history&lt;br /&gt;
&lt;br /&gt;
Low priority:&lt;br /&gt;
Groups&lt;br /&gt;
&lt;br /&gt;
== Install and Configure Key Services  [12/08/06] ==&lt;br /&gt;
* LAMP [Shawn]&lt;br /&gt;
* LDAP [Shawn]&lt;br /&gt;
* Drupal [Shawn]&lt;br /&gt;
* postfix(mta) / MailMan [Shawn]&lt;br /&gt;
* SVN, Trac [Shawn]&lt;br /&gt;
&lt;br /&gt;
== Migrate Services and Content [12/20/06] ==&lt;br /&gt;
* Develop Scripts to Migrate CollabNet Users to LDAP [Shawn]&lt;br /&gt;
* Develop Scripts to Migrate CollabNet Mailing Lists to MailMan [Shawn]&lt;br /&gt;
* Develop Scripts for SVN Dump/Load [Shawn]&lt;br /&gt;
* Develop Basic Drupal Navigation (e.g. Clone Existing) [Tyler to Coordinate]&lt;br /&gt;
* Migrate OSGeo Site Content [Tyler to Coordinate]&lt;br /&gt;
* Migrate MapGuide Project Content [Bob to Coordinate]&lt;br /&gt;
* Migrate FDO Project Content [Bob to Coordinate]&lt;br /&gt;
&lt;br /&gt;
== Go Live Phase 1 - Basic Site [12/22/06] ==&lt;br /&gt;
* Run Migration Scripts [Shawn]&lt;br /&gt;
* Change DNS for osgeo.org [Shawn]&lt;br /&gt;
&lt;br /&gt;
 At this point the OSGeo Web Site and Mailing lists will be up and running on the new infrastructure.&lt;br /&gt;
&lt;br /&gt;
== Go Live Phase 2 - SVN [12/29/06] ==&lt;br /&gt;
* Migrate SVN Repositories (MapGuide, FDO, Mapbender) [Shawn]&lt;br /&gt;
* Extract Project Tracker Artifacts e.g. Bugs as XML (MapGuide and FDO) [Shawn]&lt;br /&gt;
&lt;br /&gt;
 At this point the SVN instances for MapGuide, FDO, and Mapbender will be live on the new infrastructure.&lt;br /&gt;
&lt;br /&gt;
== Go Live Phase 3 - Trac and Cleanup [01/31/07] ==&lt;br /&gt;
* Develop scripts to import Project Tracker Artifacts into Trac [Shawn]&lt;br /&gt;
* Cleanup Migration Issues [Shawn, All]&lt;br /&gt;
* Develop Long Term Drupal Navigation, Organization, Etc. [Tyler to Coordinate]&lt;br /&gt;
&lt;br /&gt;
== Risks ==&lt;br /&gt;
&lt;br /&gt;
CollabNet database dumps&lt;br /&gt;
&lt;br /&gt;
Migrating user databases to LDAP&lt;br /&gt;
&lt;br /&gt;
Configuring LDAP&lt;/div&gt;</summary>
		<author><name>Wiki-Sbarnes</name></author>
	</entry>
</feed>