Here are some notes on the GForge 3.3 to 4.0.2 upgrade on RubyForge. Get 4.0.2 tarball - http://gforge.org/frs/?group_id=1 bunzip2 -d gforge-4.0.2.tar.bz2 tar -xf gforge-4.0.2.tar Edit httpd.conf, redirect main site to a "site maintenance" vhost. This lets individual vhosts still continue to work while site is being upgraded. crontab -e, comment all them out while this is happening # back up current setup Run nightly DB backup script manually, just in case cd /var/www/ tar -zcf gf30bkp.tar.gz gforge-3.0 move it somewhere and untar it # Now to copy in the new web app cp -R /home/tom/tmp/gforge-4.0.2/www/ . cp -R /home/tom/tmp/gforge-4.0.2/common/ . # Now apply DB scripts 20040329.sql - remove 'dead' fields, I had applied this one already 20040507.sql - applied cleanly 20040722.sql - applied cleanly 20040729.sql - applied cleanly 20040804.sql - applied cleanly php 20040826_migrateforum.php - ran fine, took about 10 seconds php 20040826_migraterbac.php - ran fine, took about 25 seconds 20040826.sql - applied cleanly 20040914.sql - applied cleanly 20041001.sql - applied cleanly 20041005.sql - applied cleanly 20041006.sql - applied cleanly 20041014.sql - applied cleanly 20041020.sql - applied cleanly 20041031.sql - applied cleanly 20041104.sql - applied cleanly 20041108.sql - applied cleanly 20041124.sql - applied cleanly Did not run 20041211-syncmail.php since I don't want a -commits list for every project. But then later I had to run a "update mail_group_list set status = 2 where status = 1", or all the lists showed up in the web UI as "not activated". Coincidence? Dunno. Reapply all RubyForge customizations Redirect site back to main page went to http://rubyforge.org/reporting/index.php, rebuilt tables - this took about 3:30 - then ran a bunch of alter table owner commands: alter table rep_group_act_daily owner to gforge; alter table rep_group_act_monthly owner to gforge; alter table rep_group_act_weekly owner to gforge; alter table rep_groups_added_daily owner to gforge; alter table rep_groups_added_monthly owner to gforge; alter table rep_groups_added_weekly owner to gforge; alter table rep_groups_cum_daily owner to gforge; alter table rep_groups_cum_monthly owner to gforge; alter table rep_groups_cum_weekly owner to gforge; alter table rep_time_category owner to gforge; alter table rep_time_tracking owner to gforge; alter table rep_user_act_daily owner to gforge; alter table rep_user_act_monthly owner to gforge; alter table rep_user_act_weekly owner to gforge; alter table rep_users_added_daily owner to gforge; alter table rep_users_added_monthly owner to gforge; alter table rep_users_added_weekly owner to gforge; alter table rep_users_cum_daily owner to gforge; alter table rep_users_cum_monthly owner to gforge; alter table rep_users_cum_weekly owner to gforge; crontab -e, comment all them back in one at a time hey\n