Migration Documentation

= Description of current layout and installed software =
Notes from Shawn on our PEER1 system:
* OS Version: Red Hat Enterprise Linux ES release 4 (Nahant Update 4)
* 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
== Installed software using up2date ==
* apache - httpd-2.0.52-28.ent.i386
* postfix - postfix-2.2.10-1.RHEL4.2.i386
* php - php-4.3.9-3.22PIDH.i386
* python - python-2.3.4-14.3.i386
* mailman - mailman-2.1.5.1-34.rhel4.5.i386
== Red Hat EL 4 rpms installed manually (rpm -i) ==
* MySQL-client-standard-5.0.27-0.rhel4.i386.rpm
* MySQL-server-standard-5.0.27-0.rhel4.i386.rpm
* MySQL-devel-standard-5.0.27-0.rhel4.i386.rpm
* MySQL-shared-compat-5.0.27-0.rhel4.i386.rpm
* clearsilver-0.10.1-1.2.el4.rf.i386.rpm
* sqlite-2.8.16-1.2.el4.rf.i386.rpm
* python-clearsilver-0.10.1-1.2.el4.rf.i386.rpm
* python-sqlite-1.0.1-12.el4.rf.i386.rpm
* subversion-1.4.3-0.1.el4.rf.i386.rpm
* mod_dav_svn-1.4.3-0.1.el4.rf.i386.rpm
== Not specific to Red Hat EL 4 rpms installed manually ==
* MySQL-zrm-1.1.2-1.noarch.rpm
== Source Install ==
* drupal-4.7.4.tar.gz
* phpldapadmin-0.9.8.3.tar.gz
* trac-0.10.3.tar.gz
= Paths to services directories =
Apache root directory
 /var/www/html/
Subversion parent directory
 /var/www/svn/repos/
Trac parent directory
 /var/www/trac/
= IP tables custom =
All iptables rules must be written in /etc/sysconfig/iptables-custom 
Current custom rules are:
/etc/sysconfig/iptables-custom/SSH
 *filter
 -A OUTPUT -p tcp --dport 22 -j ACCEPT
 COMMIT
/etc/sysconfig/iptables-custom/VERITAS
note: this file was placed here by PEER1
 *filter
 -A INPUT -s 10.0.48.0/24 -d 0/0 -p tcp -j ACCEPT
 -A OUTPUT -s 0/0 -d 10.0.48.0/24 -p tcp -j ACCEPT
 COMMIT
= System login and maintenance procedures =
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.
= Apache =
As the system is Red Hat use /sbin/services httpd start|stop|restart|configtest|reload instead of /usr/sbin/apchectl
the main Config file for apache is,
/etc/httpd/conf/httpd.conf
additional config files are at
/etc/httpd/conf.d/
*ssl.conf
*subversion.conf
*trac.conf
*virtual_host.conf
*rewrite.conf
*mailman.conf
*trac.gdal.conf
*php.conf
*python.conf
*perl.conf
*phpldapadmin.conf - http auth and ssl directives for access to https://www.osgeo.org/ldapadmin
*working.conf - http auth and ssl directives for access to https://www.osgeo.org/_ldap/ldap.php
*webalizer.conf - http auth and ssl directives for access to https://www.osgeo.org/usage.php
= Postfix =
Postfix documentation
The postfix daemon can be be stared|stopped|restarted|reloaded with,
 $ sudo /sbin/service postfix start|stop|restart|reload|abort|flush|check|status|condrestart
The main postfix config file is,
 /etc/postfix/main.cfg
The aliases file is,
 /etc/aliases
If aliases file is edited remember to run newaliases
 $ sudo /usr/bin/newaliases
 $ sudo /sbin/service postfix reload
= LDAP =
See SAC:LDAP
= Subversion =
See Subversion for details on subversion configuration.
= Trac = 
Trac Instances
= Mailman Maintenance =
See SAC:Mailing Lists.
= Backups = 
See SAC:Backups.
= DNS =
See SAC DNS Registry.
= FDO Repository Merge =
To merge repositories you need to parse through the dumpfiles.
In the fdo merge all subprojects had the same directory strucuture,
/trunk/Providers/
All dumpfiles had to be 'filtered' to just pull the /trunk/Providers/* and drop branches and tags.
SVNDUMPFILTER
$ svndumpfilter include --help
 Filter out nodes without given prefixes from dumpstream
Usage: svndumpfilter include PATH_PREFIX
Options:
--drop-empty-revs		Remove revisions emptied by filtering
--renumber-revs			Renumbe revisions left after filtering
--preserve-revprops		Don't filter revision properties
--quiet					Do not display filtering statistics
$ svndumpfilter exclude --help
Filter out nodes with given prefixes from dumpstream
Usage: svndumpfilter exclude PATH_PREFIX
Options:
--drop-empty-revs		Remove revisions emptied by filtering
--renumber-revs			Renumbe revisions left after filtering
--preserve-revprops		Don't filter revision properties
--quiet					Do not display filtering statistics
This process followed for all repositories
merge fdogdal trunk
 $ cat fdogdal.dmp | svndumpfilter include trunk/www/ > fdogdal-merge-trunk.www.dmp
 $ cat fdogdal.dmp | svndumpfilter include trunk/Providers/ > fdogdal-merge-trunk.Providers.GDAL.dmp
edit file and remove lines,
 Node-path: trunk/
 ....
 Node-action: add
 ....
 PROPS-END
 Node-path: trunk/www/
 ....
 Node-action: add
 ....
 PROPS-END
 Node-path: trunk/Providers/
 ....
 Node-action: add
 ....
 PROPS-END
Rename index.html to fdogdal-index.html
 $ perl -pi.bak -e 's/^Node-path:\ trunk\/www\/index.html/Node-path:\ trunk\/www\/fdogdal-index.html/g' fdo-merge.trunk.dmp
 $ svnadmin load /var/www/svn/repos/fdocore < fdogdal-merge.trunk.dmp
Category:Infrastructure